1

Android コード内の透かしについて質問があります。

次のコードは、WaterMark についての私の考えを示しています。ただし、正常に動作しません。

たとえば、.png で終わる画像のみが水まきマークになります。

ウォーターマーク(.jpeg、.jpg、.wbmp、.bmp、.pngなど)に関するスキームはありますか

   protected static Bitmap getDrmPicture(Context context,String path){
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inPreferredConfig = Bitmap.Config.ARGB_8888;

        Bitmap originMap = BitmapFactory.decodeFile (path,options);
        Bitmap waterMark = BitmapFactory.decodeResource(context.getResources(), R.drawable.close);

        InputStream input;
        byte[] b;
        Bitmap waterMark = null;
        try {
            input = context.getResources().openRawResource(R.drawable.lock);
            b = new byte[input.available()];
            input.read(b);
            waterMark =  DecodeUtils.requestDecode(jc, b, null);
        }catch(IOException e){
        }

        int w = originMap.getWidth();
        int h = originMap.getHeight();

        int ww = waterMark.getWidth();
        int wh = waterMark.getHeight();

        Bitmap newb = Bitmap.createBitmap(w, h,Bitmap.Config.ARGB_8888;);
        Canvas cv = new Canvas(newb);
        cv.drawBitmap(originMap, 0, 0, null);
        cv.drawBitmap(waterMark, w - ww, h - wh, null);
        cv.save(Canvas.ALL_SAVE_FLAG);
        cv.restore();

        return newb;
    } 

ありがとう !

4

2 に答える 2