【问题标题】:user control v/s custom control for image viewer图像查看器的用户控件与自定义控件
【发布时间】:2020-11-15 23:20:16
【问题描述】:

我想创建一个图像查看器。我不知道从哪里开始。你能给我一些建议吗?

我心里有以下几点

  • 创建自定义控件,覆盖绘制事件。使用属性读取、翻转、旋转和缩放图像
  • 创建一个内部带有面板的用户控件,将背景设置为图像,同时我设置公共属性“读取”。实现属性旋转、翻转、缩放

【问题讨论】:

  • 您使用的是 WinForms 还是 WPF?
  • @AndrewS:我使用 WinForms。哪个是最好的 WinForms 或 WPF?

标签: c# user-controls custom-controls


【解决方案1】:

我建议你使用 WPF 而不是 winforms
使用 WPF 进行缩放、平移示例:http://blogs.windowsclient.net/joeyw/archive/2009/06/02/pan-and-zoom-updated.aspx
This 主题有旋转等示例代码:

本主题介绍了 Microsoft Windows 演示文稿 基础成像组件。 WPF 成像使开发人员能够显示, 转换和格式化图像。

本主题包含以下内容 部分。

WPF Imaging Component
WPF Image Formats
Displaying Images in WPF
Image Metadata
Codec Extensibility
Related Topics

【讨论】:

    【解决方案2】:

    你应该先学习GDI+,this书(GDI+ Programming With C#)非常适合
    阅读后学习GDI+,你可以创建一个图像查看器。

    【讨论】:

    • 你认为为了创建简单的图像查看器他应该学习 GDI+ 吗?
    【解决方案3】:

    显示图像的方式有很多种,PictureBox 会让人想起您已经建议的部分内容 (http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.aspx)。

    在进行编辑时,您应该避免 GetPixel() 和 SetPixel() 速度太慢,而是通过使用 unsafe 关键字的指针或 Marshall 类来访问这些位。

    使用位图的 LockBits() 方法获取 BitmapData 对象,乐趣就开始了!

    进一步阅读:

    http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.aspx

    https://web.archive.org/web/20121203144033/http://www.bobpowell.net/lockingbits.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-10
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 2014-02-20
      • 2011-06-16
      • 1970-01-01
      相关资源
      最近更新 更多