[解決済み] ビットマップのAndroidクロップセンター
2022-04-26 05:13:32
質問
正方形や長方形のビットマップを持っています。最短の辺をとって、次のようにします。
int value = 0;
if (bitmap.getHeight() <= bitmap.getWidth()) {
value = bitmap.getHeight();
} else {
value = bitmap.getWidth();
}
Bitmap finalBitmap = null;
finalBitmap = Bitmap.createBitmap(bitmap, 0, 0, value, value);
そして、これを用いて144 x 144のBitmapにスケーリングする。
Bitmap lastBitmap = null;
lastBitmap = Bitmap.createScaledBitmap(finalBitmap, 144, 144, true);
問題は、元のビットマップの左上隅を切り取ることです。どなたかビットマップの中央を切り取るコードをご存知ですか?
解決方法は?
で実現できる。 Bitmap.createBitmap(source, x, y, width, height)
if (srcBmp.getWidth() >= srcBmp.getHeight()){
dstBmp = Bitmap.createBitmap(
srcBmp,
srcBmp.getWidth()/2 - srcBmp.getHeight()/2,
0,
srcBmp.getHeight(),
srcBmp.getHeight()
);
}else{
dstBmp = Bitmap.createBitmap(
srcBmp,
0,
srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
srcBmp.getWidth(),
srcBmp.getWidth()
);
}
関連
-
AndroidでAttempt to invoke virtual method... on null object referenceの例外が発生する。
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] DrawableをBitmapに変換する方法は?
-
ConstraintLayoutのいくつかのプロパティの概要(RelativeLayoutの強化版、LinearLayoutの比例プロパティを含む、階層ツールの削減)。
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
armeabi-v7a armeabi arm64-v8a パラメータの意味説明
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
RuntimeException: アクティビティを開始できません ComponentInfo solution
-
アンドロイドスタジオのエラーを解決する --> Error:(1, 0) id 'com.android.application' を持つプラグインが見つかりません。
-
telnet'が内部コマンドまたは外部コマンドとして認識されない 解決方法
-
アプリケーションがメインスレッドで過剰に作業している可能性があります。
-
エラー:未宣言の識別子(AS)の使用
-
AndroidStudioのショートカット 検索/置換
-
[解決済み】Androidで大きなビットマップファイルを拡大縮小して出力する。
-
[解決済み] Androidでビットマップから円形領域を切り取る方法