问题:
该函数中用Graphics::drawImage显示图片,如下示
boolean b=false;
b=g.drawImage(imgError,thex(i),they(j),this);
在开始的一段时间内返回值b经常会是false,导致显示不正常,但是,只要显示一段时间后,即该函数被调用若干次后返回值b就会一直是true,再也不会返回false了。
解决方法:
当drawImage这个方法中的图片没有被完全加载的时候,这个方法会返回false。drawImage方法是在调用的时候才加载所需要的图片,所以第一次调用的时候,图片没有被完全加载,造成显示的不正常,甚至不显示图片,此后,图片由于方法调用被加载,以后再以这幅图片为参数的时候,就可以正常显示了。使用MediaTracker类
Image img = Toolkit.getDefaultToolkit().getImage(imgPath);
MediaTracker t = new MediaTracker(this);
t.addImage(img, 0);
t.waitForAll();
将这段代码在drawImage()之前调用,MediaTracker可以确保你的图片在DRAW前被加载以备使用。通过addImage方法加入一个Image并符上一个ID号,waitForAll()等待加入的所有图片被加载完毕。也就是说先前只要正常显示过一次了,那么应该图片已经加载好了,此后此图片就再也不会出现返回false而不能正常显示了。如果只使用drawImage那么是在调用的时候加载图片,如果这个图片在本地,那么加载好图片的速度相当的快。再次调用drawImage方法的时候就能正常显示了。也可以在初始化时对每个图片显示一下,直到每个图片显示都返回true,这样之后就不会再出现不正常的显示了。我想这样每个图片一开始都显示一遍,刚好还可以做程序的开始动画呢:)
分享到:
相关推荐
对于在canvas上使用drawImage方法绘制图片时出现的不完全显示问题,本文将提供相应的解决方案。首先需要了解drawImage方法,这是canvas用于向画布上绘制图像的API。在微信小程序中,drawImage方法在使用时可能会因为...
通过上述方法,可以有效解决在使用canvas的drawImage()方法绘制图片时遇到的不显示问题。这些方法的核心都是确保在图片资源完全加载之后再进行绘制操作,以避免因为资源未加载完成而导致的绘制失败。
在JavaScript的Canvas API中,`drawImage()`是一个非常重要的方法,用于将图像(可以是图片、画布或视频)绘制到画布上。这个方法在Web开发中广泛应用于图像处理和动态图形创建。我们来详细了解一下`drawImage()`...
在小程序开发中,经常需要在canvas上绘制图片,这时就需要使用到drawImage方法。小程序中的drawImage方法与HTML5中canvas的drawImage方法类似,它允许我们在canvas画布上绘制图像。 首先,drawImage方法有三个不同...
在.NET Compact Framework中,`Graphics.DrawImage`是一个关键方法,用于在Windows CE或类似嵌入式平台上绘制图像。这个方法是GDI+(图形设备接口加)的一部分,它提供了丰富的图形绘制功能,使得开发者能够在...
在JavaScript的世界里,`drawImage()` 是一个非常重要的方法,特别是在Web开发中处理图像时。这个方法是HTML5 Canvas API的一部分,它允许开发者在Canvas画布上绘制图像,包括图片、视频或者另一个Canvas元素。本...
在编程世界中,图形处理与图像绘制是不可或缺的一部分,尤其是在用户界面(UI)设计和科学可视化中。本文将深入探讨使用MFC(Microsoft Foundation Classes)库编写的"DrawImage"软件,它能够绘制Bezier、B样条和...
在MATLAB中,"drawimage"通常指的是一个用户自定义的功能,用于绘制图像或处理图像数据,特别是可能涉及到用户交互式地在图像上绘制图形,例如徒手涂鸦。在这个项目中,`draw.m`可能是实现这个功能的核心脚本,而`...
`canvas.drawImage`方法的强大之处在于其灵活性,开发者可以根据需求精确控制图像在canvas上的显示效果。在实际项目中,结合其他canvas API,如`rotate`、`translate`和`scale`,可以实现更复杂的图像操作和动画效果...
而如果你想要简单地在屏幕上显示整个纹理,并调整其透明度,那么第二个版本就是更好的选择。 在DirectX编程中,理解和熟练使用`D3DTexture`的`DrawImage`方法是创建动态图形、游戏界面以及任何需要图像处理的项目的...
3.3_drawImage的参数详解|Canvas图像基础|Canvas图形、动画、游戏开发从入门到精通全系列课程
总之,解决Canvas绘图不清晰的关键在于理解设备像素比与Canvas尺寸之间的关系,并通过适当地调整Canvas的内在尺寸和CSS尺寸来优化图像的显示质量。通过实践这些方法,我们可以确保Canvas上的图像无论在何种设备上都...
下面就来一起解决下 二.方法 (一).使用mode:widthFix widthFix:宽度不变,高度自动变化,保持原图宽高比不变。 首先我们先设置image的mode为widthFix,然后给图片加一个固定rpx的宽度,比如:730rpx。 ...
这个方法返回一个`Image`对象,代表了你要显示的图片。 ```vb Dim pngImage As Image = Image.FromFile("C:\path\to\your\image.png") ``` 3. **绘制图片**: 使用Graphics对象的`DrawImage`方法将图片绘制到控件...
总的来说,mobileBUGFix.mini.js是针对Android平台HTML5开发中常见的图像质量问题的解决方案,通过优化JPEG压缩质量和修正drawImage的显示问题,提高了图像处理的稳定性和视觉效果。对于在Android环境中进行Web开发...
drawImage.js
通过以上步骤,我们可以针对"C#打印图片模糊的问题"找到根本解决方案,确保不论是条码还是普通图片,都能在不依赖额外软件的情况下,实现清晰的打印效果。在实际项目中,一定要结合具体的硬件环境和需求,灵活运用...
此外,为了使用户界面更加友好,还可以添加错误处理机制,例如当图片文件不存在或加载失败时,可以显示默认图片或错误信息。同时,考虑性能优化,避免频繁地加载大图片,可能导致应用程序响应变慢。 最后,完成数据...