【问题标题】:Android scaled bitmap signature into pdfAndroid 将位图签名缩放为 pdf
【发布时间】:2016-04-22 11:05:50
【问题描述】:

我找不到任何解决问题的方法。

我的问题是这个。我必须创建一个带有签名的pdf。我创建 pdf 或创建签名没有问题,但是当我将它们放在一起时,我将签名调整为更小,但签名的质量降低了。

这里我给你看签名和缩放的签名。

create signature

scaled signature

这就是我创建签名位图的方式。

   mSignaturePad = (SignaturePad) dialog.findViewById(R.id.signature_pad);

   Bitmap signaturePad = mSignaturePad.getSignatureBitmap();

   createPDF(signaturePad);

这就是我创建 pdf 页面画布的方式。

   PdfDocument.Page page = document.startPage(pageInfo);

   Canvas canvas = page.getCanvas();

最后我在获得缩放位图后绘制位图。

   int width = source.getWidth();
   int height = source.getHeight();

   float scaleWidth = ((float) 100) / width;
   float scaleHeight = ((float) 140) / height;
   Matrix matrix = new Matrix();
   matrix.postScale(scaleWidth, scaleHeight);
   matrix.postRotate(-90);

   Bitmap scaledBitmap = Bitmap.createBitmap(source, 0, 0, width, height, matrix, true);

   Paint paint = new Paint();
   paint.setAntiAlias(true);
   paint.setFilterBitmap(true);
   paint.setDither(true);

   canvas.drawBitmap(scaledBitmap, 387, 717, paint3);

这不是我测试过的缩放位图的唯一方法。我测试了很多方法,但没有任何效果。如何缩放此位图?

我希望你能帮助我。谢谢。

psd:对不起我的英语。

【问题讨论】:

    标签: java android canvas bitmap


    【解决方案1】:

    以下说明如何从资产文件夹添加图像。如果您已经有了位图,那么只需从位图过程中遵循它就可以了。你也可以关注Example

    File myFile1 = new File("/sdcard/ourdata/" + pdfname + ".pdf");
    myFile1.createNewFile();
    Document pdfDoc = new Document();
    PdfWriter docWriter = PdfWriter.getInstance(document,
            new FileOutputStream(myFile1));
    document.open();
    PdfContentByte cb = docWriter.getDirectContent();
    InputStream inputStream = getAssets().open("signature.png");
    Bitmap bmp = BitmapFactory.decodeStream(inputStream);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
    Image signature = Image.getInstance(stream.toByteArray());
    signature.setAbsolutePosition(400f, 150f);
    signature.scalePercent(25f);
    document.add(signature);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 2011-06-22
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多