实现复制,剪切和粘贴

时间:2009-05-21 07:08:20

标签: vb.net graphics copy paste cut

我想在我的绘图程序中实现复制,剪切和粘贴(复制所选图像的一部分)

我不知道如何开始

任何想法?

5 个答案:

答案 0 :(得分:1)

  1. 使用系统范围的剪贴板,以防用户在应用中的一个实例中复制并粘贴到另一个实例中,或者如果用户关闭窗口并重新打开它,他可以粘贴支持数据。
  2. 从实现副本的基类继承程序的所有形状。糊。
  3. 对于复制(或剪切),序列化对象并将其放在系统剪贴板中。
  4. 对于粘贴,请阅读系统剪贴板并尝试反序列化回形状对象(如果投射失败,剪贴板内容不是您应用的对象)
  5. 将粘贴形状的位置略微向左和向下移动(让用户知道图形中有新形状)

答案 1 :(得分:0)

复制:获取所选矩形,创建该大小的新图像,获取当前图像的副本并将其放置在新矩形上,由所选矩形的topleft偏移

答案 2 :(得分:0)

总之,存在两种方式

1)你自己的剪贴板 2)系统范围的剪贴板

在第二种情况下,使用必须使用标准格式来存储您的数据。有关Windows剪贴板的详细信息,请阅读MSDN

或者您可以维护两个剪贴板 - 自己和系统。然后在您的剪贴板中,您可以为您的应用程序存储特定信息,并在系统cliboard中存储图像

答案 3 :(得分:0)

以下是一些全球性的观点,将大大加快您将面临的问题。

尝试搜索可逆线/橡皮筋。在图片中进行选择。 尝试在VB .NET中搜索LockBits,以创建一种快速读取和写入像素的方法。 尝试学习后台线程,并报告进度。对于需要很长时间的每像素操作。 尝试制作MDI。有足够的状态栏来报告状态。 将项目文件保存到磁盘时(例如psd),尝试序列化为xml / binary。 这对于创建撤销功能也很方便。

答案 4 :(得分:0)

看到这一个......

http://www.wallpaperama.com/forums/javascript-copy-selected-text-box-select-all-highlight-text-form-copy-paste-t706.html

但是对于firefox它不起作用。我也在寻找类似的。如果我得到更多,我会发布。