社区
GAME,图形处理/多媒体
帖子详情
关于Canvas画布的问题.
weixiaohua
2009-08-15 08:39:31
Canvas能不能只在指定范围内使用Pen或者Brush呢.
比方我指定一个Rect(50, 50, 100, 100),当我用Pen画线时如果X或者Y超过这个矩形时自动截取掉超过的坐标.
...全文
142
11
打赏
收藏
关于Canvas画布的问题.
Canvas能不能只在指定范围内使用Pen或者Brush呢. 比方我指定一个Rect(50, 50, 100, 100),当我用Pen画线时如果X或者Y超过这个矩形时自动截取掉超过的坐标.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dinoalex
2009-08-15
打赏
举报
回复
除上面说的if判断之外
还可以用ClipCursor来锁定范围
husion01
2009-08-15
打赏
举报
回复
可以的,近来我也在做画图的,你可以有MouseMove中用IF判断是否超过限制。
Seamour
2009-08-15
打赏
举报
回复
找一个从TWinControl继承下来的带Canvas的控件SetWindowRgn就可以了
bdmh
2009-08-15
打赏
举报
回复
在Mousemove中判断x,y是否超出区域
weixiaohua
2009-08-15
打赏
举报
回复
我也这么做的感觉麻烦了点.想看看有没有简单点的办法.
用TextRect可以避免超出范围,画线为什么还得自己判断啊!!!
sanguomi
2009-08-15
打赏
举报
回复
想到有办法有可以做到楼主那样的,用API钩,钩住API LINETO等,在里边做判断,如果超过范围就是你定的范围,不过完全是没必要
grjs2004
2009-08-15
打赏
举报
回复
是啊!
你做个if判断,把Pen的起始坐标和重点坐标设置成参数,在Rect范围内的就直接传Pen画的线的两点坐标,否则,取Rect的坐标!
当然要判断画线方向,取出线的倾斜角来定线的方向!
这个计算有点麻烦,不过搞清楚了所有要素,是完全可以做到的!
sanguomi
2009-08-15
打赏
举报
回复
这个要你自己去做判断的
luojun198305
2009-08-15
打赏
举报
回复
把要画的线的2点设置成参数,超过指定范围就不显示就可以了。
lhy
2009-08-15
打赏
举报
回复
画在另一个Canvas上,然后CopyRect
阿呆_
2009-08-15
打赏
举报
回复
很简单啊.
....
index := SaveDC(Canvas.Handle);
IntersectClipRect(Canvas.Handle, rect.Left, rect.Top, rect.Right, rect.Bottom); // 后续画图操作只能画在Rect内, 超出部分会被自动截掉
...
RestoreDC(Canvas.Handle, index); // 后续画图可以画到rect外面了
HTML5
Canvas
拼图游戏开发
本课程基于HTML5的
Canvas
编程技术、JavaScript和CSS等前端技术,实现了拼图游戏的开发过程,可以借此课程初步掌握网页游戏的开发过程和思路,并加强对H5等前端技术的熟练掌握。
canvas
.width和
canvas
.style.width区别以及应用
今天讲的内容是
canvas
.width和
canvas
.style.width的区别,在没有做
canvas
项目之前,其实我是并没有深入了解过这两个属性的,最近在研究
canvas
项目的自适应
问题
,尤其是在
canvas
中置入图片,碰到了图片模糊的
问题
,这些“杂症”都是和文章要讲的
canvas
.width/
canvas
.style.width有关...
canvas
2image.js将
canvas
保存为图片(将HTML5
画布
Canvas
的内容保存为本地图片并下载)
canvas
2image.js /** * covert
canvas
to image * and save the image file */ var
Canvas
2Image = function () { // check if support sth. var $support = function () { var
canvas
= document.create...
设置
canvas
画布
大小
canvas
的绘制是以
画布
大小为准的。
canvas
的默认
画布
大小为300×150。 设置
canvas
画布
大小的方法: // 方法一 <
canvas
id="test" width="100px" height="100px"></
canvas
> //方法二:通过js实现 <
canvas
id="test"></
canvas
> <script> var
canvas
= document.getElementById('test'); can
Canvas
画布
作为Three.js纹理贴图(
Canvas
Texture)
Canvas
画布
作为Three.js纹理贴图(
Canvas
Texture)
Canvas
画布
可以通过2D API绘制各种各样的几何形状,可以通过
Canvas
绘制一个轮廓后然后作为Three.js网格模型、精灵模型等模型对象的纹理贴图。 一段
Canvas
代码 下面是一段与WebGL或者说Threejs无关的
Canvas
代码,你可以在.html文件中打开查看一下,通过下面代码绘制的Cnavas
画布
可以...
GAME,图形处理/多媒体
1,183
社区成员
14,336
社区内容
发帖
与我相关
我的任务
GAME,图形处理/多媒体
Delphi GAME,图形处理/多媒体
复制链接
扫一扫
分享
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章