70 Star 96 Fork 1.4K

OpenHarmony / graphic_graphic_2d

 / 详情

[Bug]: clippath可选参数不传时,对相同path操作时,gpu-xnode绘制异常(js和c相关接口都有此问题)

已完成
创建于  
2024-05-16 20:05

发生了什么问题?

打开demo,选择gpu,输入testcase:canvasclippath5或者canvasclippath6(调用clipath接口),点击draw,没有clippath效果
float aX = 600 / 2;
float aY = 1200 / 4;
int len = 1200 / 4;
float dX = aX - len * std::sin(18.0f);
float dY = aY + len * std::cos(18.0f);
float cX = aX + len * std::sin(18.0f);
float cY = dY;
float bX = aX + (len / 2.0);
float bY = aY + std::sqrt((cX - dX) * (cX - dX) + (len / 2.0) * (len / 2.0));
float eX = aX - (len / 2.0);
float eY = bY;
// 创建一个path对象,然后使用接口连接成一个五角星形状
OH_Drawing_Path *cPath_ = OH_Drawing_PathCreate();
// 指定path的起始位置
OH_Drawing_PathMoveTo(cPath_, aX, aY);
// 用直线连接到目标点
OH_Drawing_PathLineTo(cPath_, bX, bY);
OH_Drawing_PathLineTo(cPath_, cX, cY);
OH_Drawing_PathLineTo(cPath_, dX, dY);
OH_Drawing_PathLineTo(cPath_, eX, eY);
// 闭合形状,path绘制完毕
OH_Drawing_PathClose(cPath_);

constexpr float penWidth = 10.0f;
OH_Drawing_Pen *cPen_ = OH_Drawing_PenCreate();
OH_Drawing_PenSetAntiAlias(cPen_, true);
OH_Drawing_PenSetColor(cPen_, OH_Drawing_ColorSetArgb(0xFF, 0xFF, 0x00, 0x00));
OH_Drawing_PenSetWidth(cPen_, penWidth);
OH_Drawing_CanvasAttachPen(cCanvas, cPen_);

OH_Drawing_Brush *brush = OH_Drawing_BrushCreate();
OH_Drawing_BrushSetColor(brush, OH_Drawing_ColorSetArgb(0xFF, 0x00, 0xFF, 0x00));
OH_Drawing_CanvasAttachBrush(cCanvas, brush);

//OH_Drawing_CanvasClipOp传枚举值DIFFERENCE,有交集的进行裁剪
OH_Drawing_CanvasClipPath(cCanvas, cPath_, OH_Drawing_CanvasClipOp::DIFFERENCE, false);
OH_Drawing_CanvasDrawPath(cCanvas, cPath_);

期望行为是什么?

打开demo,选择gpu,输入testcase:canvasclippath5或者canvasclippath6(调用clipath接口),点击draw,clippath效果生效

如何复现该缺陷

打开demo,选择gpu,输入testcase:canvasclippath5或者canvasclippath6(调用clipath接口),点击draw

其他补充信息

版本或分支信息

  • master
  • Release 4.1
  • Release 4.0
  • Release 3.2

评论 (2)

高礼兰 创建了任务
高礼兰 添加了
 
bug
标签
展开全部操作日志

感谢提交Issue!关于Issue的交互操作,请访问OpenHarmony社区支持命令清单。如果有问题,请联系 @李蔚 @stonesxd @lijj01 @mk @wangxinpeng @xuyuqiong @BruceXuXu @刘超 @wyl @hw_yang 。如果需要调整订阅PR、Issue的变更状态,请访问链接

Thanks for submitting the issue. For more commands, please visit OpenHarmony Command List. If you have any questions, please refer to committer @李蔚 @stonesxd @lijj01 @mk @wangxinpeng @xuyuqiong @BruceXuXu @刘超 @wyl @hw_yang for help. If you need to change the subscription of a Pull Request or Issue, please visit the link.

openharmony_ci 添加了
 
waiting_for_assign
标签
Public_OpenHarmonyTest 优先级设置为次要
Public_OpenHarmonyTest 关联分支设置为OpenHarmony-5.0-Beta1
高礼兰 修改了标题
高礼兰 修改了描述
高礼兰 修改了标题

RK的gpu类型是opengl,所以导致cpu和gpu绘制效果不一致

高礼兰 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
7387629 openharmony ci 1656582662
1
https://gitee.com/openharmony/graphic_graphic_2d.git
git@gitee.com:openharmony/graphic_graphic_2d.git
openharmony
graphic_graphic_2d
graphic_graphic_2d

搜索帮助