HarmonyOS 使用drawing.canvas绘制本地Image时,提示参数错误
使用drawing.canvas绘制本地Image时,执行到canvas.drawImage(this.pixelMap, 0, 0);时报出参数错误问题
async draw(context : DrawContext) {
const canvas = context.canvas;
// 获取resourceManager资源管理
const resourceMgr : resourceManager.ResourceManager = this.comContext.resourceManager;
await resourceMgr.getRawFd('ic_in_selected_red.png').then(async (rawFileDescriptor : resourceManager.RawFileDescriptor) => {
console.log("Succeeded in getting RawFd")
const imageSource : image.ImageSource = image.createImageSource(rawFileDescriptor)
await imageSource.createPixelMap().then((pixelMap: image.PixelMap) => {
this.pixelMap = pixelMap
console.log("Succeeded in creating PixelMap")
}).catch((err : BusinessError) => {
console.error("Failed to creating PixelMap")
});
}).catch((err : BusinessError) => {
console.error("Failed to get RawFd")
});
console.error("draw image")
try {
if (this.pixelMap != null) {
canvas.drawImage(this.pixelMap, 0, 0);
}
} catch (e) {
console.error("draw image error=" + e)
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
这个时序影响着参数调用?我现在通过await控制时序了,最后调用canvas.drawImage(this.pixelMap, 0, 0),也是返回Error: Invalid params.
可以基于上面的代码调试(ps 正常业务内我们加载一张图片不会放在aboutToAppear中)
问题描述:异步绘制时,在drawImage调用前,arkui就已经调用了drawing的canvas的ResetCanvas接口,导致对应的canvas被释放了而无法绘制drawImage。
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 基于drawing.canvas实现的动画demo
937浏览 • 1回复 待解决
mysql插件加载时提示参数错误怎么回事?
3241浏览 • 1回复 待解决
HarmonyOS Canvas绘制image的API相关问题
769浏览 • 1回复 待解决
HarmonyOS 使用drawing绘制,无法获取PixelMap
665浏览 • 1回复 待解决
使用Drawing实现图形绘制与显示
1797浏览 • 1回复 待解决
HarmonyOS Scroll组件的onScrollEdge方法回传side参数错误
454浏览 • 1回复 待解决
HarmonyOS 使用Canvas时发现在重新绘制时有些问题
604浏览 • 1回复 待解决
使用Drawing进行2d图像绘制
1817浏览 • 1回复 待解决
HarmonyOS 如何使用canvas绘制虚线
620浏览 • 1回复 待解决
使用DevEco Studio时Java预览器提示错误
11090浏览 • 1回复 待解决
如何使用canvas绘制圆角矩形
1249浏览 • 1回复 待解决
HarmonyOS 一个带button的notification,参照文档,但是报参数错误
479浏览 • 1回复 待解决
HarmonyOS Canvas.drawImage怎么绘制本地图片,并指定大小?
777浏览 • 0回复 待解决
如何在使用 Canvas 绘制图像时处理像素模糊问题?
1035浏览 • 0回复 待解决
HarmonyOS Canvas.drawImage怎么绘制本地图片,并指定大小
622浏览 • 1回复 待解决
HarmonyOS 使用drawing接口绘制的时候,brush和pen的绘制顺序是怎样的
427浏览 • 1回复 待解决
HarmonyOS Canvas绘制圆角
910浏览 • 1回复 待解决
HarmonyOS Canvas绘制时,黑白模式切换不生效问题 11
568浏览 • 1回复 待解决
HarmonyOS Canvas绘制圆角矩形
1018浏览 • 1回复 待解决
HarmonyOS Canvas绘制曲线相关
775浏览 • 1回复 待解决
HarmonyOS 使用Canvas自定义绘制进行大量图像绘制时,render_service耗时较大,出现明显卡顿
619浏览 • 1回复 待解决
使用canvas渲染文本时,如何基于文本变化,正确绘制出对应的内容?
2606浏览 • 1回复 待解决
HarmonyOS canvas组件绘制文字时如何使用第三方自定义字体
994浏览 • 1回复 待解决
如何操作canvas重新绘制
1906浏览 • 1回复 待解决
HarmonyOS 关于自定义绘制组件Canvas的使用异常
1013浏览 • 1回复 待解决
:提前把pixelmap保存起来,等绘制的时候直接绘制pixelmap。比如在aboutToAppear生命周期函数里面就去加载图片,创建pixelmap。