2012-04-06 76 views

回答

4

圖片框無法獲取像素。但是它包含的圖像可用於創建具有getpixel函數的對象bitmap。然而,我會提到這不是最快的操作。如果你需要它很快,我會看看GID win32函數。

+0

這就是我不得不這樣做的原因,因爲我一直使用圖形對象來繪製圖片框。我渲染完整的圖像,然後使用GetPixel(x,y); – 2016-03-22 20:18:19

14

如果你想獲得點擊的像素的顏色:

Color pixelColor; 

// add the mouse click event handler in designer mode or: 
// myPicturebox.MouseClick += new MouseEventHandler(myPicturebox_MouseClick); 
private void myPicturebox_MouseClick(object sender, MouseEventArgs e) { 
    if (e.Button == MouseButtons.Left) 
     pixelColor = GetColorAt(e.Location); 
} 

private Color GetColorAt(Point point) { 
    return ((Bitmap)myPicturebox.Image).GetPixel(point.X, point.Y); 
} 
+1

請注意:e.location是pictureBox中的位置,而實際圖像的大小可以調整爲適合盒子,但仍然具有原始大小。當在圖像中詢問像素值時,您可以從未縮放的圖像中獲取該值。這(可能)不是您可能期望的顏色值! – 2016-09-26 12:02:32