我的第一個問題在這裏。而且我敢肯定,這是一個容易,但我不能在任何地方找到一個解決方案,我讀過很多,只是無法理解,我需要怎麼做:在C中使用PictureBox上的位圖繪圖#
- 我有一個*。 gif文件,我想在
System.Drawing.Bitmap
存儲,讓我有機會獲得getPixel()方法 - 我希望有我的一些控制繪圖(目前嘗試
PictureBox
)
到目前爲止我」 ve得到了:
- 我從文件創建一個模板,
Bitmap
- 這工程( map_t代碼) - 我創建實際將繪製的位圖(地圖)
- 我可以把我的圖片框圖像爲位圖
- I 不能改變這個位圖。或者我可以,但結果不顯示
- 我想我必須從該位圖創建
Graphic
,然後更改它。我不知道我錯過了什麼。
下面的代碼:MapCanvas是在窗體上的PictureBox,一切都在MouseMove事件,因爲我試圖讓指針周圍的一些圈 - 沒有工作,所以我結束了這段代碼,這也不起作用。我已閱讀每一個問題,我能找到的,沒有什麼幫助...下面的代碼:
namespace Projekt_innowacje
{
public partial class MapForm : Form
{
Bitmap map_t;
Bitmap map;
public MapForm()
{
InitializeComponent();
map_t = new Bitmap("map.gif", true);
map = new Bitmap(map_t.Width, map_t.Height);
MapCanvas.Image = map;
}
private void MapCanvas_MouseMove(object sender, MouseEventArgs e)
{
Graphics canvas = Graphics.FromImage(map);
for (int i = 0; i <= map.Width; i++)
for (int j = 0; j <= map.Height; j++)
if (map.GetPixel(i, j) == Color.Red)
canvas.DrawLine(new Pen(Color.Blue), i, j, i + 1, j + 1);
// map.SetPixel(i, j, map.GetPixel(i, j)); // also doesn't work
//MapCanvas.Refresh();
MapCanvas.Invalidate();
canvas.Dispose();
}
}
}
您是否嘗試過使用BMP或JPEG? GIF使用索引顏色,通常不能任意繪製。 – Ani
這不是問題,因爲我只從GIF文件讀取像素。正如你所看到的,我嘗試使用gif文件大小的新空白位圖。 – wasyl
啊,我的錯。 – Ani