20

フレーム付きの画像があり、透かし効果を追加する必要があります。どうすればこれを行うことができますか?

4

6 に答える 6

39

ここで Android 画像処理に関する優れたチュートリアルを見つけました。

public static Bitmap mark(Bitmap src, String watermark, Point location, Color color, int alpha, int size, boolean underline) {
    int w = src.getWidth();
    int h = src.getHeight();
    Bitmap result = Bitmap.createBitmap(w, h, src.getConfig());

    Canvas canvas = new Canvas(result);
    canvas.drawBitmap(src, 0, 0, null);

    Paint paint = new Paint();
    paint.setColor(color);
    paint.setAlpha(alpha);
    paint.setTextSize(size);
    paint.setAntiAlias(true);
    paint.setUnderlineText(underline);
    canvas.drawText(watermark, location.x, location.y, paint);

    return result;
}

基本的な画像処理に関する有用なチュートリアルを共有してくれた Pete Houston に感謝します。

于 2012-05-21T11:20:24.513 に答える
19

他の参考のために、アプリケーションのロゴ (ドローアブル フォルダーにある) を画像の上に追加する場合は、次の方法を使用します。

private Bitmap addWaterMark(Bitmap src) {
        int w = src.getWidth();
        int h = src.getHeight();
        Bitmap result = Bitmap.createBitmap(w, h, src.getConfig());
        Canvas canvas = new Canvas(result);
        canvas.drawBitmap(src, 0, 0, null);

        Bitmap waterMark = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.logo);
        canvas.drawBitmap(waterMark, 0, 0, null);

        return result;
    }
于 2014-03-28T07:28:38.557 に答える
4

このような を探しているようですwaterrippleeffect。完全なソース コードをチェックアウトします。また、スクリーンショットで効果がどのように見えるかを確認してください。

于 2012-05-21T04:25:37.603 に答える
-5

フレームレイアウトを使用します。framelayout 内に 2 つの imageview を配置し、透かし imageview の位置を指定します。

于 2012-05-21T04:22:47.150 に答える