将Drawable传递给iTextPdf而不是图像-Android

将Drawable传递给iTextPdf而不是图像-Android,android,image,android-resources,itextpdf,Android,Image,Android Resources,Itextpdf,我正在使用iTextPdf创建一个签入应用程序。我已经使用图像对象添加了图像: imagePath = "/sdcard/Mugshot.jpg"; Image image = Image.getInstance(imagePath); image.setAbsolutePosition(165f, 465f); image.scaleToFit(290f,290f); document.add(image); 我更喜欢在添加任何内容之前以相同的方式添加图像,因为我希望任何后续内容都会覆盖现有

我正在使用iTextPdf创建一个签入应用程序。我已经使用图像对象添加了图像:

imagePath = "/sdcard/Mugshot.jpg";
Image image = Image.getInstance(imagePath);
image.setAbsolutePosition(165f, 465f);
image.scaleToFit(290f,290f);
document.add(image);
我更喜欢在添加任何内容之前以相同的方式添加图像,因为我希望任何后续内容都会覆盖现有内容。

根据,您也可以使用byte[]数组进行构建

将可绘图转换为
字节[]

Drawable d = getResources ().getDrawable (R.drawable.your_drawable)
Bitmap bitmap = ((BitmapDrawable)d).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] bitmapData = stream.toByteArray();
然后

Image image = Image.getInstance(bitmapData);

我在getResources()上得到一个未定义的方法错误。建议?如果您不在活动中,请使用
context.getResources()
这是一个单独的类,名为FileOperations,用于读取和写入pdf。当我尝试创建一个上下文(context-context=this;)时,我得到一个类型不匹配错误,因为它不是活动。请使用您拥有的任何上下文实例,是否可以更具体一些?我可以使用任何活动的上下文吗?如果是,怎么做?