打开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
感谢提交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.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
RK的gpu类型是opengl,所以导致cpu和gpu绘制效果不一致
登录 后才可以发表评论