我想在C#中使用Canvas繪製圖片。 我必須控制圖片每個像素的顏色,所以我使用矩形繪製它。爲什麼我不能繪製像素並排像素?
public void AddPixel(Canvas canvas, double x, double y)
{
Rectangle rec = new Rectangle();
Canvas.SetTop(rec, y);
Canvas.SetLeft(rec, x);
rec.Width = 1;
rec.Height = 1;
rec.Fill = new SolidColorBrush(Colors.Black);
canvas.Children.Add(rec);
}
應該工作,但是當我要檢查它並繪製單純全黑的畫面:
for (int y = 0; y < 50; y++)
{
for (int x = 0; x < 50; x++)
{
AddPixel(MandelbrotCanvas, x, y);
}
}
我得到的是這樣的 - 喜歡的東西邊界矩形,空間像素之間:
爲什麼?有人可以幫我畫出一張清晰的黑色照片?
也許它與將'5'而不是'y'傳遞給'AddPixel'方法有關? – BradleyDotNET
我複製了錯誤的代碼。當我使用AddPixel(...,x,y)時,我得到這張圖片 – Blagalin
嘗試添加:'rec.SetValue(RenderOptions.EdgeModeProperty,EdgeMode.Aliased);'。如果這不起作用,請嘗試添加'rec.SnapsToDevicePixels = true;' – cubrr