有没有办法将任何图像加载到屏幕并在 winapi C++(图像编辑器)中以图形方式编辑它?
Is there a way to Load any image to screen and edit it graphically in winapi C++ (Image Editor)?
我正在尝试用 C++ (winapi) 制作图像编辑器。我只完成了设置 window 和文件之类的菜单(包括新建、打开、保存、退出)。但是我完全不知道怎么加载客户端请求的图片,怎么让他们绘制并保存。
我不认为初始代码在这里很重要,这就是我不发布它的原因。如果您需要,请告诉我。
如果您使用的是 C++ 和 winapi,那么您应该考虑使用 MFC 框架。这为所有原生 windows 图形对象和动作提供了很好的包装器;而且,我发现特别有用的是 "CImage" class。它有一个 "Load" 成员,给定文件路径,可以打开任何 'standard' 图形格式(位图、GIF、JPEG 和 TIFF)的图像。打开后,您可以使用 class 的功能,如 "BitBlt" 将对象的图像渲染到视图 (window)。您还可以将 'handle' 提取到基础 BITMAP 对象(像素颜色的实际数组),然后您可以应用用户对显示图像所做的任何更改。
我在我的一个软件项目中广泛使用这个 class,它有大量 image-editing/-processing 操作。
抱歉,如果这有点含糊 - 但是,话又说回来,你的问题也是如此!
我正在尝试用 C++ (winapi) 制作图像编辑器。我只完成了设置 window 和文件之类的菜单(包括新建、打开、保存、退出)。但是我完全不知道怎么加载客户端请求的图片,怎么让他们绘制并保存。
我不认为初始代码在这里很重要,这就是我不发布它的原因。如果您需要,请告诉我。
如果您使用的是 C++ 和 winapi,那么您应该考虑使用 MFC 框架。这为所有原生 windows 图形对象和动作提供了很好的包装器;而且,我发现特别有用的是 "CImage" class。它有一个 "Load" 成员,给定文件路径,可以打开任何 'standard' 图形格式(位图、GIF、JPEG 和 TIFF)的图像。打开后,您可以使用 class 的功能,如 "BitBlt" 将对象的图像渲染到视图 (window)。您还可以将 'handle' 提取到基础 BITMAP 对象(像素颜色的实际数组),然后您可以应用用户对显示图像所做的任何更改。
我在我的一个软件项目中广泛使用这个 class,它有大量 image-editing/-processing 操作。
抱歉,如果这有点含糊 - 但是,话又说回来,你的问题也是如此!