RasterException 的任何解决方案:传递的参数无效? (同时将 RasterImage 转换为位图)
Any solution to RasterException: Invalid parameter passed? (While converting RasterImage to Bitmap)
我正在开发一个 android 应用程序并尝试将 RasterImage 转换为 Bitmap Image 以便用给定的点绘制一条线。但我在转换时遇到异常。为此,我正在使用 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();
}
}
我们在我们的 v18 Android 工具包附带的 ViewerDemo 中测试了与您的代码类似的代码,它没有显示类似的问题。如果您想尝试我们的测试,请从这个项目开始:
LEADTOOLS_Android_18\Examples\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 支持,并提供有关您用于测试的项目的更多详细信息。
我正在开发一个 android 应用程序并尝试将 RasterImage 转换为 Bitmap Image 以便用给定的点绘制一条线。但我在转换时遇到异常。为此,我正在使用 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();
}
}
我们在我们的 v18 Android 工具包附带的 ViewerDemo 中测试了与您的代码类似的代码,它没有显示类似的问题。如果您想尝试我们的测试,请从这个项目开始: LEADTOOLS_Android_18\Examples\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 支持,并提供有关您用于测试的项目的更多详细信息。