首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >drawRect太大

drawRect太大
EN

Stack Overflow用户
提问于 2009-09-14 03:47:25
回答 1查看 346关注 0票数 2

这个非常简单的绘图命令创建了一个11x11像素的红色矩形:

代码语言:javascript
复制
_sp.graphics.lineStyle( 1, 0xFF0000, 1, true, LineScaleMode.NORMAL, CapsStyle.NONE, JointStyle.MITER, 3 );
_sp.graphics.drawRect( 10, 10, 10, 10 );

让它变成10x10像素的秘诀是什么?

如果我用相同的drawRect参数填充一个矩形,结果是10x10像素:

代码语言:javascript
复制
_sp.graphics.beginFill( 0xFF0000, 1 );
_sp.graphics.drawRect( 10, 10, 10, 10 );
_sp.graphics.endFill( );

我不喜欢使用drawRect( 10,10,9,9 );因为这看起来像是一个hack。

EN

回答 1

Stack Overflow用户

发布于 2009-09-14 06:44:44

当您绘制一个10x10的矩形时,就像在您的第二个代码片段中一样,Flash会绘制您所期望的内容。但是在您的第一个代码片段中,您在一个10x10矩形周围绘制了一个矢量边。从理论上讲,Flash可以通过绘制围绕10x10矩形的12x12边,或绘制与10x10矩形重叠的10x10矩形(从而围绕8x8矩形)来满足这一要求。在实践中,Flash拆分了不同之处,选择在两条边围绕形状,并在另两条边重叠形状。但即使这样,如果你开始在半像素上绘制,你可能会发现行为略有不同,因为矢量绘制是一项复杂的业务,而Flash的渲染器是高度优化的。

要对绘制线条的位置进行像素级控制,应使用moveTo()lineTo()分别绘制线条。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1419592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档