Tag: 绘制

如何在c#中旋转图像x度?

我做了一些搜索,我找不到任何function,做我想做的事情。 我有一个带有文本的扫描文档的图像文件,但文档旋转了一些度数,所以我想旋转它,使文本相互串联。 在一个完美的世界,它应该是一个自动执行此function的function,但我无法找到任何东西和我理解的自动工作,它需要对图像进行一些分析,我认为这是一件大事。 但后来我已经做了一个工具来手动旋转网站上的图像,但现在我需要一个function来保存旋转到图像文件。 这似乎是一些不同的方法,但没有人我测试做我想做的。 我发现的function几乎就像我的作品一样: public static Bitmap RotateImg(Bitmap bmp, float angle, Color bkColor) { int w = bmp.Width; int h = bmp.Height; PixelFormat pf = default(PixelFormat); if (bkColor == Color.Transparent) { pf = PixelFormat.Format32bppArgb; } else { pf = bmp.PixelFormat; } Bitmap tempImg = new Bitmap(w, h, pf); Graphics g = Graphics.FromImage(tempImg); g.Clear(bkColor); […]

如何在C#.NET中更改图像的像素颜色

我正在使用Java中的Images,我设计了超过100种图像(.png)格式,它们都是Trasparent和Black Color Drawing。 问题是,现在我被要求改变绘图的颜色(黑色 – )。 我搜索了许多在谷歌剪断的代码,它改变了图像的位图(像素),但我不是猜测我必须做什么来匹配精确的像素,并在图像处于透明模式时特别替换。 下面是.Net(C#)中的代码 Bitmap newBitmap = new Bitmap(scrBitmap.Width, scrBitmap.Height); for (int i = 0; i < scrBitmap.Width; i++) { for (int j = 0; j < scrBitmap.Height; j++) { originalColor = scrBitmap.GetPixel(i, j); if(originalColor = Color.Black) newBitmap.SetPixel(i, j, Color.Red); } } return newBitmap; 但它根本没有匹配,我调试了它,在整个文件中,没有Color(originalColor)变量的Red,Green,Blue参数的值。 有人可以帮忙吗?

双面板缓冲

可以通过将“AllPaintingInWmPaint”,“UserPaint”和“DoubleBuffer”ControlStyles的值设置为“true”来完成对整个表单的双缓冲(this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.DoubleBuffer,true)) 。 但是System.Windows.Forms.Panel不会发生这种情况,因为该类不允许我这样做。 我找到了一个解决方案: http : //bytes.com/topic/c-sharp/answers/267635-double-buffering-panel-control 。 我也试过这个: Winforms Double Buffering 。 这是滞后的,即使它在小图纸上使用,我也有一些自定义资源,我在表格和其他东西中使用,因为我不会把整个表格变成一张图纸。 而第二个似乎会引起问题。 还有其他方法吗? 我问这个是因为我不希望面板上的绘图在调整窗体大小时一直闪烁。 如果有办法在没有双缓冲的情况下摆脱闪烁,我会很高兴知道。

在c#中写入图像上的文本

我有以下问题。 我想在位图图像中制作一些图形,如债券forms 我可以用图像写一个文字 但我会在不同的位置写更多的文字 Bitmap a = new Bitmap(@”path\picture.bmp”); using(Graphics g = Graphics.FromImage(a)) { g.DrawString(….); // requires font, brush etc } 如何编写文本并保存并在保存的图像中写入另一个文本