0
我有一個Format32bppArgb
後備緩衝,在那裏我畫一些線路:繪製位圖的alpha通道
var g = Graphics.FromImage(bitmap);
g.Clear(Color.FromArgb(0));
var rnd = new Random();
for (int i = 0; i < 5000; i++) {
int x1 = rnd.Next(ClientRectangle.Left, ClientRectangle.Right);
int y1 = rnd.Next(ClientRectangle.Top, ClientRectangle.Bottom);
int x2 = rnd.Next(ClientRectangle.Left, ClientRectangle.Right);
int y2 = rnd.Next(ClientRectangle.Top, ClientRectangle.Bottom);
Color color = Color.FromArgb(rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255));
g.DrawLine(new Pen(color), x1, y1, x2, y2);
}
現在我想在Paint
事件複製bitmap
。我不喜歡這樣:
void Form1Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImageUnscaled(bitmap, 0, 0);
}
Hovewer,所述DrawImageUnscaled
拷貝像素並應用alpha通道,從而像素具有α== 0將不具有任何影響。但我需要原始字節複製,所以alpha = 0的像素也被複制。所以這些操作的結果應該是e.Graphics
包含bitmap
的確切字節拷貝。怎麼做?
摘要:當繪製一個位圖,我不想申請alpha通道,我只是想複製的像素。
非常感謝,非常快! :-)它當然很好,當然... – Paya 2010-04-10 19:27:10