ライブ壁紙に 2 つの画像を重ねる必要があります。オーバーレイ画像は、「追加」オーバーレイに設定する必要がある jpg です。透明度を計算するのではなく、ピクセル値を追加します。どうすればアンドロイドでこれを達成できますか?
2 に答える
2
Android のBitmapおよびDrawableクラスをCanvasと混合して利用し、次のスニペットのようなことを試すことができます。
public static Drawable mergeImage(Drawable orig, Drawable over, int left, int top) {
Bitmap original = ((BitmapDrawable)orig).getBitmap();
Bitmap overlay = ((BitmapDrawable)over).getBitmap();
Bitmap result = Bitmap.createBitmap(original.getWidth(), original.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(result);
Paint paint = new Paint();
paint.setAntiAlias(true);
canvas.drawBitmap(original, 0, 0, paint);
canvas.drawBitmap(overlay, left, top, paint);
return new BitmapDrawable(result);
}
上記の行を使用して、「オンラインステータス」でオーバーレイされた写真画像グリッドビューをコーディングしました。それがあなたにとってもうまくいくことを願っています。
于 2012-06-17T11:11:54.050 に答える
0
より一般的なアプローチは、必要な PorterDuffMode で PorterDuffXfermode を作成し、キャンバスで使用するPaintオブジェクトに設定することです。これにより、必要に応じて他の Porter-Duff モードを使用できます。
Paint paint = new Paint();
paint.setAntiAlias(true);
canvas.drawBitmap(original, 0, 0, paint);
paint.setXferMode(new PorterDuffXferMode(PorterDuff.Mode.OVERLAY));
canvas.drawBitmap(overlay, left, top, paint);
私はこれを試していないので、mthamaの答えに進んでください。:)
于 2012-06-17T13:10:23.813 に答える