2016-04-22 10 views
0

私の問題のために何かを見つけることができませんでした。Androidのビットマップ署名をPDFに

私の問題はこれです。私は署名付きの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:すみません。

答えて

0

アセットフォルダから画像を追加する方法を説明します。既にビットマップがある場合は、ビットマッププロセスからそれに従ってください。 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); 
関連する問題