图像处理
回答
我通常使用GDI+
来做到这一点。有很多在网上对这个教程,但基本上你需要做的是这样的:
using(Image image = new Bitmap(Width, Height))
using (Graphics g = Graphics.FromImage(image)) {
g.Draw....
g.Draw....
image.Save(filename, ImageFormat.Jpeg);
}
到Draw....
的调用可以绘制图元,图像,文字等。
还记得那是文字看起来锯齿状,你有Graphics
对象的方法来平滑这一点。在这种情况下,g.TextRenderingHint = TextRenderingHint.AntiAlias;
还有其他选项可以让它看起来更好,如果你觉得它是锯齿状的。默认设置是针对性能而不是质量,所以如果您想要高质量,则需要自行设置。 g.SmoothingMode
设置为例如HighQuality
将使您的圆形图元看起来比默认配置更平滑。
它非常易于使用,并且使最终图像看起来像您想要的样子,所以试试吧!
如果事情看起来块状,请在JPEG保存上设置更高的质量 – Will 2010-10-07 09:09:36
GDI +和System.Drawing命名空间是做你想做的事情所需要的。一个基本的例子是低于但也有在网络上的资源,详细说明更多先进的功能:
using(Bitmap myBitmap = new Bitmap("C:\\backgroundImage.jpg"))
using(Graphics g = Graphics.FromImage(myBitmap))
{
g.DrawString("Text", new Font("Arial", 10), Brushes.White, new PointF(0, 0));
myBitmap.Save("C:\\newImage.jpg");
}
您应该始终处理GDI +对象,例如使用“using”结构。不这样做可能会导致摊位。 – Skrim 2010-10-07 09:27:14
-1:这并没有增加我在几分钟前发布的答案,此外还省略了处理Skrim也评论过的至关重要的GDI +对象。 – 2010-10-07 10:08:28
@Øyvind当你最初发布你的答案时,你没有包括任何有关添加指定的问题的文本。为什么这么意思? – 2010-10-07 10:16:33
3.5/4,你还可以使用WPF/Media.Imaging作为替代GDI +
首先创建一个DrawingVisual和DrawingContext:
DrawingVisual visual = new DrawingVisual();
DrawingContext dc = visual.RenderOpen();
上再画的东西:
dc.DrawRectangle(...);
dc.DrawText(...);
etc...
请务必关闭它:
dc.Close();
有关WPF的最大好处是一切都在GUI实际上是视觉,所以,如果你愿意,你不必使用上面的代码编程画画,你实际上可以在窗口中用xaml构建你的视觉效果,然后直接渲染到RenderTargetBitmap。
一旦你建立你的视觉,你可以使它对使用编码器(.Net有编码器用于Jpeg,Png,Bmp,Gif,Tiff和Wmp)的文件。
// Create a render target to render your visual onto. The '96' values are the dpi's, you can set this as required.
RenderTargetBitmap frame = new RenderTargetBitmap((int)visual.ContentBounds.Width, (int)visual.ContentBounds.Height, 96, 96, PixelFormats.Pbgra32);
frame.Render(visual);
// Now encode the rendered target into Jpeg and output to a file.
JpegBitmapEncoder jpeg = new JpegBitmapEncoder();
jpeg.Frames.Add(BitmapFrame.Create(frame));
using (Stream fs = File.Create(@"c:\filename.jpg"))
{
jpeg.Save(fs);
}
有一些很好的MS教程上Drawing Objects和WPF Graphics Rendering。
优秀资源,谢谢 – 2010-12-16 22:17:30
而不是良好的旧GDI +,您可以使用更现代(通常更快)的System.Windows.Media.Imaging API。
- 1. 图像处理
- 2. 图像处理
- 3. 图像处理
- 4. 图像处理
- 5. 图像处理
- 6. 图像处理
- 7. 图像处理
- 8. 图像处理
- 9. 图像处理蟒
- 10. Python图像处理
- 11. OCR图像处理
- 12. Modis图像处理
- 13. PHP图像处理
- 14. 图像处理PHP
- 15. OpenCV图像处理
- 16. jQuery图像处理
- 17. MATLAB(图像处理)
- 18. JPG图像处理
- 19. 图像处理库
- 20. YUV图像处理
- 21. Tiff图像处理
- 22. Sobel图像处理
- 23. 图像处理Iphone
- 24. WPF:处理图像
- 25. DICOM图像处理
- 26. 图像处理库
- 27. Sikuli图像处理
- 28. Android图像处理
- 29. Matlab'图像处理'
- 30. Java图像处理
你是什么意思的“背景图像,文字图像”?截图? – bitbonk 2010-10-07 09:36:46