- 浏览: 134937 次
- 性别:
- 来自: 苏州
最新评论
-
lanliying:
主窗体报错Multiple markers at this l ...
Flex自定义事件 -
Alex丿:
12年的帖子,难得~。~
Flex编译参数设置
Flex中画图,有两种方法:
1、直接在canvas中画
private function init():void{ cav.graphics.lineStyle(1, 0x000000, 1, false); cav.graphics.lineTo(200, 200); } <mx:Canvas id="cav" width="300" height="300" />
2、在Sprite中画,然后将其添加到舞台中。所有显示对象都必须继承UIComponent类,但是Sprite并没有继承UIComponent,如果想显示Sprite,就先要把Sprite添加到UIComponent中,然后再添加到舞台中。
sprite = new Sprite(); sprite.graphics.lineStyle(1,0x000000,1,true); sprite.graphics.lineTo(event.localX, event.localY); ui = new UIComponent(); ui.addChild(sprite); cav.addChild(ui);
下面例子实现了一个简单的画板,只实现了画线、撤销、还原、清屏等简单的部分功能,目的是研究Flex画板的原理。
private var sprite:Sprite; //作画的载体 private var ui:UIComponent; //包装Sprite,然后才能添加到舞台上 private var index:int = 0; //作画的操作数,也是添加到舞台的每个对象的索引 private var flag:Boolean = false; //表示鼠标是否按下 private var arr:Array = new Array(); //被撤销的对象列表,以备还原 /** * 按下鼠标,初始化画笔 */ protected function cav_mouseDownHandler(event:MouseEvent):void { sprite = new Sprite(); sprite.graphics.clear(); sprite.graphics.lineStyle(1,0x000000,1,true); sprite.graphics.moveTo(event.localX, event.localY); sprite.graphics.lineTo(event.localX, event.localY); ui = new UIComponent(); ui.addChild(sprite); cav.addChildAt(ui, index++); flag = true; } /** * 如果鼠标按下,并滑动,开始画画 */ protected function cav_mouseMoveHandler(event:MouseEvent):void { if(flag == true){ sprite.graphics.lineTo(event.localX, event.localY); } } /** * 停止画画 */ protected function cav_mouseUpHandler(event:MouseEvent):void { flag = false; } /** * 撤销 */ protected function btnUndo_clickHandler(event:MouseEvent):void { if(index <= 0){ return; } arr.push(cav.getChildAt(--index)); cav.removeChildAt(index); } /** * 还原 */ protected function btnRedo_clickHandler(event:MouseEvent):void { if(arr != null && arr.length > 0){ cav.addChildAt(arr.pop(), index++); } } /** * 清屏 */ protected function btnClear_clickHandler(event:MouseEvent):void { if(index >= 0){ cav.removeAllChildren(); index = 0; } if(arr != null && arr.length > 0){ arr.splice(); } } <mx:VBox id="vb" width="100%" height="100%"> <mx:HBox> <mx:Button id="btnUndo" label="撤销" click="btnUndo_clickHandler(event)" /> <mx:Button id="btnRedo" label="还原" click="btnRedo_clickHandler(event)" /> <mx:Button id="btnClear" label="清屏" click="btnClear_clickHandler(event)" /> </mx:HBox> <mx:Canvas id="cav" width="500" height="500" backgroundColor="#FFFFFF" mouseDown="cav_mouseDownHandler(event)" mouseMove="cav_mouseMoveHandler(event)" mouseUp="cav_mouseUpHandler(event)"/> </mx:VBox>
发表评论
-
清除flash player缓存-SharedObject
2012-06-18 14:02 2192http://www.macromedia.com/suppo ... -
Flash Builder4.6破解
2012-06-10 13:41 5具体步骤如下:1.到Adobe官网下载FlashBuilder ... -
SharedObject
2012-04-11 16:05 1628共享对象可以简单理解为类似浏览器的cookies,可以将一定 ... -
RollOver和MouseOver的区别
2012-03-20 10:22 1719共同点:都是针对鼠标的进入和进出事件。 不同点: 1、 ... -
wmode参数详解,对flash以及html元素的影响(转载)
2012-03-08 14:16 3647在页面中经常会用到需 ... -
Flex自定义事件时为什么要重载clone()方法(转载)
2012-02-19 17:35 1418声明:转载 以前在学习自定义事件的时候一直不太明白为什 ... -
Datagrid动态添加列
2012-02-19 17:34 1924Datagrid的列是一个数组,动态添加列的方法是创建一个新的 ... -
给特效加上缓动效果
2012-02-17 11:21 1024给特效的结束前加上缓动效果,比如模拟篮球落地->弹起-& ... -
BitmapData
2012-02-17 11:21 1884可以使用BitmapData对象加载图片,BitmapData ... -
TitleWindow自定义标题栏
2012-02-17 11:21 1642应用场景: TitleWindow宽度固定,titl ... -
Image拉伸
2012-02-17 11:21 1353应用场景: 当使用Image加载图片或swf文件时, ... -
TextArea设置文本的局部样式
2012-02-16 13:21 3441var tr:TextRange = new TextR ... -
HtmlText中加入超链接
2012-02-16 13:20 1266以下是Label中加入超链接的例子: prote ... -
Flex滤镜
2012-02-16 13:20 1800使用滤镜可以改变文本和控件显示效果,Flex滤镜如下: ... -
Flex字体
2012-02-16 13:20 17681、嵌入字体 嵌入字体会把字体文件编译到应用中,所以 ... -
Flex的Combobox组件
2012-02-16 13:19 85721、显示提示 设置Prompt ... -
Flex中ToolTip的使用
2012-02-15 10:12 27051、为ToolTip加入动画效 ... -
Flex常用特效
2012-02-15 10:12 1060Flex常用特效列表: -
Flex回调函数
2012-02-15 10:12 1226应用场景:父子窗体之间的通信,比如想把弹出窗口中的数据传给弹出 ... -
Flex内存优化(转载)
2012-02-15 10:12 14711. 使用合适的显示对象,对于非交互的简单形状用Sha ...
相关推荐
一个简易画板的实现 有简单的画图,画图形,改颜色功能
至此,我们就完成了一个基本的基于Canvas的简易画板,用户可以在上面自由绘画,并能将作品导出为PNG图片。在实际项目中,你可能还需要考虑其他功能,比如清除画布、改变画笔颜色和大小等。Canvas API提供了丰富的...
"第一个简单画板"是一个基于源码开发的工具项目,主要目标是实现一个基础的绘画应用程序。这个项目可能是一个初学者或爱好者为了学习图形用户界面(GUI)编程、事件处理和基本绘图功能而创建的。通过分析和理解这个...
在Android开发中,创建一个简易画板应用是一个常见的练习,它可以帮助开发者深入理解自定义View的概念和绘图机制。这个源码项目就是基于这样的目的,使用了Android的自定义View来构建一个基本的画板功能,让用户可以...
在Android开发中,创建一个简易画板(PaintOnTouchEvent)是一项常见的需求,它涉及到自定义View、触摸事件处理以及用户交互的设计。这个项目的核心在于如何有效地处理OnTouchEvent,以实现用户在屏幕上绘制图形的...
【C# 2010 简易画板】是一个基于C# 2010编程语言开发的简易画图应用程序。这个程序为用户提供了一个简单的画板界面,允许用户进行基本的绘画操作,比如绘制直线、曲线、矩形、椭圆等图形,并能进行颜色选择、画笔...
使用python做的一个简易画板,能够实现画点、画直线、画多边形、画椭圆等功能,其中包含了对Tkinter的操作以及对于GUI的操作,希望对python初学者能够有所帮助
在本文中,我们将深入探讨如何使用C#和GDI+(Graphics Device Interface)来实现一个简单的画板应用程序。GDI+是.NET Framework中用于图形绘制的基础组件,它提供了丰富的功能,使得开发者可以创建出交互式的可视化...
"win程简易画板"是一个基于Windows编程环境的简单绘图应用程序,旨在提供基础的绘画功能,如颜色变换、线条粗细调整以及绘制多种形状。这个项目可能使用了如Microsoft Visual Studio这样的开发工具,结合C++或C#等...
在移动设备上实现一个简易画板是许多开发者和学习者早期接触编程时的常见项目。这个项目可以帮助初学者理解触摸事件处理、图形绘制以及颜色管理等基本概念。在这个简易画板应用中,用户可以通过手指在屏幕上画画,...
`<canvas>`本身并不具备绘图能力,它仅仅是一个容器。所有的绘图工作都是通过JavaScript来完成的。 **示例代码片段:** ```html <canvas id="c1" width="800" height="600"></canvas> <li><span>颜色:</span>...
在这个简易画板应用中,我们可能创建一个`Form`对象作为主窗口,并在其中添加一个无边框的`PictureBox`控件,用于显示画布。通过设置`PictureBox`的`SizeMode`属性为`StretchImage`,可以让其完全填充窗体空间。 ...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来创建一个基本的“画板...这个简单的画板程序为学习和实践MFC提供了一个很好的起点,同时也可以作为基础,进一步扩展成功能更丰富的图形编辑器。
这个简易画板程序是学习Qt GUI编程的一个良好起点,涵盖了基本的窗口创建、事件处理和图形绘制。随着技能的提升,可以进一步优化程序,如添加撤销/重做功能、多层绘图、自定义形状工具等。Qt提供的强大功能使得...
【标题】"完整的安卓画板源代码 Android小画板" 涵盖了Android平台上开发一个简单画板应用的核心技术。在这个项目中,开发者利用Android SDK提供的工具和API,构建了一个用户可以自由绘画、擦除和选择颜色的界面。...
使用 JavaScript,可以通过 `document.getElementById` 方法获取 Canvas 元素,并将其赋值给一个变量。例如:`const canvas = document.getElementById("canvas")` knowledge point 3: 获取 Canvas 2D 绘图上下文 ...
在iOS开发中,创建一个简易画板应用是一个常见的练习,它可以帮助开发者理解图形上下文、触摸事件处理以及用户交互设计等基础知识。这个"简易画板Demo"项目就是一个很好的实例,让我们来深入探讨其中的关键知识点。 ...
本项目"matlab简易画板GUI程序"是一个基本的图形画板应用,用户可以在这个画板上进行简单的绘图操作,如绘制点、线、矩形和椭圆,同时支持选择颜色和线条粗细。遗憾的是,目前该程序尚未实现添加文本框的功能。 ...
总的来说,"QT做的简易画板"是一个很好的学习和实践Qt编程的例子,它涉及到GUI设计、事件处理、绘图操作等多个关键领域,同时也展示了Qt框架在开发高效、功能丰富的应用程序方面的强大能力。通过这个项目,开发者...
本教程将基于Qt框架,介绍如何创建一个简单的画板应用,旨在帮助初学者理解Qt界面编程的基础以及绘图功能的实现。 首先,我们需要了解Qt的Widgets模块,它是构建用户界面的基础。在这个简易画板项目中,我们将使用...