用戶提供我的應用程序的圖像,從該應用程序需要使掩模:創建圖像掩模
掩模包含在原始圖像中的每個透明像素紅色像素。
我試過如下:
Bitmap OrgImg = Image.FromFile(FilePath);
Bitmap NewImg = new Bitmap(OrgImg.Width, OrgImg.Height);
for (int y = 0; y <= OrgImg.Height - 1; y++) {
for (int x = 0; x <= OrgImg.Width - 1; x++) {
if (OrgImg.GetPixel(x, y).A != 255) {
NewImg.SetPixel(x, y, Color.FromArgb(255 - OrgImg.GetPixel(x, y).A, 255, 0, 0));
}
}
}
OrgImg.Dispose();
PictureBox1.Image = NewImg;
我很擔心在慢電腦的性能。有沒有更好的方法來做到這一點?
我會用完全相同的方法。這是緩慢的,但要記住,你正在處理的像素和它的數量可以相當大。只分析一個圖像應該是任何計算機上的一個非常快速的過程。 – varocarbas
對於非常大的圖像,您可以考慮使用「任務」或「工作線程」,而不是主線程凍結UI直到完成處理。 –
我已經在爲此使用'BackgroundWorker'。 – Elmo