我正在开发一个Android应用程序,并尝试将RasterImage转换为位图图像,以绘制给定点的线。但我在转换时遇到异常。我正在使用LEADTOOLS DICOM SDK版本18。下面是我正在使用的代码
private void drawingfunction(float x, float y, float xend, float yend, int color) {
try{
RasterImage _loadedImage;
RaterImageViewer secondviewer;
Bitmap newpic;
newpic=RasterImageConverter.convertToBitmap(_loadedImage2, ConvertToImageOptions.NONE.getValue());
newpic = Bitmap.createBitmap(_loadedImage2.getWidth(), _loadedImage2.getHeight(), Config.ARGB_8888);
Canvas c = new Canvas(newpic);
c = new Canvas(newpic);
secondviewer.draw(c);
Paint p = new Paint();
p.setColor(color);
c.drawLine(x, y, xend, yend, p);
secondviewer.setImageBitmap(newpic);
}
catch(Exception ex)
{
Toast.makeText(getApplicationContext(),ex.toString(),Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
我们在我们的v18 Android工具包附带的ViewerDemo中测试了与您类似的代码,但它没有显示类似的问题。如果您想尝试我们的测试,请从这个项目开始: LEADTOOLS_Android_18 \例子\的Android \ ViewerDemo 然后修改文件ViewerDemoActivity.java中的setImage()函数,使其变为如下:
private void setImage(RasterImage image) {
try {
int bpp = image.getBitsPerPixel();
RasterByteOrder order = image.getOrder();
Bitmap newpic=RasterImageConverter.convertToBitmap(image, ConvertToImageOptions.NONE.getValue());
newpic = Bitmap.createBitmap(image.getWidth(), image.getHeight(), Config.ARGB_8888);
Canvas c = new Canvas(newpic);
c = new Canvas(newpic);
mViewer.draw(c);
Paint p = new Paint();
p.setColor(0xFFFF0000);
c.drawLine(20, 20, 200, 200, p);
mViewer.setImageBitmap(newpic);
} catch(Exception ex) {
Messager.showError(this, ex.getMessage(), "");
}
}
我们尝试了不同的图像,包括彩色和16位灰度Dicom图像,它们都有效。 如果问题仍在您身边,请将触发它的实际图像通过电子邮件发送给LEAD支持,并提供有关您用于测试的项目的更多详细信息。