[解決済み] フレーム内マスキング(クロップ)
2023-06-19 15:38:11
質問
リッチUIアプリケーションで、以下のような複雑な形状の画像を表示させたい。
さて、マスク画像と同じように画像を切り出したいのですが、実際には 画像はカメラやギャラリー(正方形や長方形の形状)からインポートすることができ、動的に来ています。 そして、私はその画像が上記のように私のレイアウトフレームに収まるようにしたい。
というわけで、どうすればこれを実現できるのか、ちょっと考えてみました。任意のアイデア/ヒントを歓迎します。
背景フレーム
マスク
同じような この
どのように解決するのですか?
マスク画像を変更し、さらに
Xfermode
と
Bitmap
マスク
ImageView mImageView= (ImageView)findViewById(R.id.imageview_id);
Bitmap original = BitmapFactory.decodeResource(getResources(),R.drawable.content_image);
Bitmap mask = BitmapFactory.decodeResource(getResources(),R.drawable.mask);
Bitmap result = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(), Config.ARGB_8888);
Canvas mCanvas = new Canvas(result);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
mCanvas.drawBitmap(original, 0, 0, null);
mCanvas.drawBitmap(mask, 0, 0, paint);
paint.setXfermode(null);
mImageView.setImageBitmap(result);
mImageView.setScaleType(ScaleType.CENTER);
mImageView.setBackgroundResource(R.drawable.background_frame);
出力を見る
ソースはこちら ここで
関連
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] div 内の画像を縦に並べる方法
-
[解決済み] Markdownで画像サイズを変更する
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] 設定ページに移動せずに位置情報サービスをオンにする
-
[解決済み] Androidの連絡先リストを呼び出すには?
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] onCreate(Bundle savedInstanceState)とは?
-
[解決済み] RecyclerViewのアイテムに波及効果を追加する
-
[解決済み] proguard hell - 参照されているクラスが見つかりません。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] EclipseのAndroidプロジェクトにライブラリ/JARを追加する
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] ArrayList<MyCustomClass>をJSONArrayに変換する。
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] proguard hell - 参照されているクラスが見つかりません。
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理