C# GDI+图像调整功能
所以我的逻辑是有缺陷的,我需要一种更好、更正确的方法来调整我的 c# 应用程序中的图像大小,
我需要一个类似于此设置的功能
public void ResizeImageForWeb(string OriginalFile, string NewFile, int MaxWidth, int MaxHeight, int Quality)
{
// Resize Code
}
基本上,我是一名网页设计师,在尝试对桌面应用程序进行编程时迷失了方向。
So my logic is flawed and I need a better and correct way to resize an image in my c# app
I need a function similar to this setup
public void ResizeImageForWeb(string OriginalFile, string NewFile, int MaxWidth, int MaxHeight, int Quality)
{
// Resize Code
}
Basically, I'm a web designer lost trying to programming a desktop app.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是我用来调整用户上传的图像大小的代码,以创建缩略图或只是强制执行大小限制。它不涉及图像质量,但它是一个开始。
This is code I've used to resize images that users upload to either create a thumbnail or simply to enforce a size restriction. It doesn't address picture quality, but it's a start.
我当然不会使用 GetThumbnailImage 因为它会令人震惊 - 为了获得良好的分辨率而不诉诸 DX 或 OpenL 等,我会使用类似下面的东西(来自我自己的图形库,我在许多 Windows 应用程序中使用 - 我已经分享了一些以前有过几次,所以网上可能有变体)。这里有 3 个方法 - GetNonIndexedPixelFormat 方法用于在传递它无法处理的像素格式时阻止 GDI 崩溃(注释解释了这一点)。第一个允许按一个因子(缩放)缩放,最后一个允许固定大小重新缩放,同时保持纵横比(但如果您想倾斜它,可以轻松修改)。享受:
I would certainly not use GetThumbnailImage as it would be shocking - for good resolution without resorting to DX or OpenL etc, I'd use something like the following (from my own graphics library I use in many windows apps - I have shared this a few times before so there may be variants float around the net). There are 3 methods here - the GetNonIndexedPixelFormat method is used to stop GDI crashing when passed pixel formats it can't handle (comments explain it). The first allows scaling by a factor (Zoom) and the last allows fixed size rescaling whilst keeping the aspect ratio (but can easily be modified if you want to skew it instead). Enjoy:
使用 Graphics.DrawImage()。 GetThumbnailImage() 将从 jpeg 文件返回 120x120(或更小)的嵌入缩略图。对于任何超过这个尺寸的东西来说都是可怕的。
请参阅http://nathanaeljones.com/163/20-image-resizing-pitfalls/< /a> 以获取要使用的适当设置。
Use Graphics.DrawImage(). GetThumbnailImage() will return a 120x120 (or smaller) embedded thumbnail from an jpeg file. It will be horrible for anything above that size.
See http://nathanaeljones.com/163/20-image-resizing-pitfalls/ for the appropriate settings to use.
通过 Google 快速搜索,找到这个小片段。
A quick search from Google find this little snippet.