在 Flex 4 中将绘图对象添加到集合中
我正在尝试在图像上进行注释。
我想将所有这些注释存储到一个集合中,以便以后可以删除或编辑特定注释(注释)。
我正在创建一个 UIComponent 实例,例如 markUp,并且
markUp.graphics.lineStyle(2, drawColor);
markUp.graphics.moveTo(x1, y1);
markUp.graphics.lineTo(x2, y2);
每次用户在我的图像上进行新注释时我都想创建一个 UIComponent 实例。
如何生成动态实例以及如何将它们保存到集合中。任何帮助表示赞赏。
I'm trying to make annotations on an image.
I want to store all these annotations into a collection so that I can later remove or edit particular note(annotation).
I'm creating a UIComponent instance for example markUp and doing
markUp.graphics.lineStyle(2, drawColor);
markUp.graphics.moveTo(x1, y1);
markUp.graphics.lineTo(x2, y2);
I want to create a UIComponent instance every time whenever user makes a new annotation on my image.
How to generate dynamic instance and how to save them to a collection. Any help is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据我与 Kishor 聊天后的了解:
用户可以通过鼠标拖动来标记特定区域并相应地添加评论。标记和注释存储在数据库中。
一次只能放大一张图像,并且该图像应显示所有标记。单击标记将弹出一个弹出窗口,显示相关的评论。
显然,绘制标记相当昂贵,因此一旦绘制了特定标记,当用户在图像之间切换时就应该重复使用。现在的问题是:
如何重用图像上显示的标记?
答案:
使用
对象
或字典
,为每个图像创建一个条目,并且该条目指向标记的Array
。您可以创建一个方便的类来封装此地图的功能:将此地图存储在可从图像容器访问的位置。
添加或删除这样的标记:
每当用户更改当前图像时,您 1. 清除最后一个的所有标记,2. 添加存储在地图中的所有标记。
在图像容器中:
注意:
示例代码假设您有一个托管所有标记的标记容器。该容器应该具有对标记映射的引用。
From what I understand after a chat with Kishor:
Users may mark specific areas by mouse drag and add a comment accordingly. Markup and comment are stored in the database.
There is only one image enlarged at a time, and this image should display all markups. Clicking on a markup will raise a popup showing the associated comment.
Apparently drawing the markup is rather expensive, so once drawn a particular markup should be reused when the user switchs between images. The question is now:
How to reuse markups displayed on an image?
Answer:
Use an
Object
orDictionary
where you create one entry per image and the entry points to anArray
of markups. You may create a convenient class to encapsulate the functionality of this map:Store this map at a place that is accessible from your image container.
Add or remove a markup like this:
Whenever the user changes the current image you 1. cleanup all markups of the last and 2. add all markups stored in the map.
In the image container:
Notes:
The example code assumes you have a markup container that hosts all markups. This container should have a reference to the markup map.