我有一个图片框,并将.png图片导入。 现在当我旋转实际图像时,图片框的“自由”空间(不包括图像)被黑色像素填充。
问:如何让黑色像素透明?
修改
这是轮换代码
public static Bitmap RotateImage(Image image, PointF offset, float angle)
{
if (image == null)
{
return null;
}
try
{
Bitmap rotatedBmp = new Bitmap(image.Width, image.Height);
rotatedBmp.SetResolution(image.HorizontalResolution, image.VerticalResolution);
using (Graphics g = Graphics.FromImage(rotatedBmp))
{
g.TranslateTransform(offset.X, offset.Y);
g.RotateTransform(angle);
g.TranslateTransform(-offset.X, -offset.Y);
g.DrawImage(image, new Point(0, 0));
}
return rotatedBmp;
}
catch (OutOfMemoryException)
{
GC.Collect();
}
catch (ArgumentException)
{
}
return image as Bitmap;
}
以下是原始图片和修改后的图片:
答案 0 :(得分:0)
如果将SupportsTransparentBackColor
的{{1}}属性设置为true,则PictureBox支持透明度,将其放在Form_Load中。
System.Windows.Forms.ControlStyles
如果您愿意,可以将PictureBox上的this.SetStyle(System.Windows.Forms.ControlStyles.SupportsTransparentBackColor, true);
设置为其他颜色,默认情况下为BackColor
。