Trong đoạn mã sau, tôi đang cố gắng để vẽ hai dòng: Một có chiều rộng subpixel (0.5) và khác với chiều rộng 1px:Làm thế nào để vẽ một đường subpixel
var img = new Bitmap(256, 256);
Graphics graphics = Graphics.FromImage(img);
graphics.SmoothingMode = SmoothingMode.AntiAlias;
// Draw a subpixel line (0.5 width)
graphics.DrawLine(new Pen(Color.Red, (float)0.5), 0, 100, 255, 110);
// Draw a single pixel line (1 width)
graphics.DrawLine(new Pen(Color.Red, (float)1), 0, 110, 255, 120);
img.Save(@"c:\temp\test.png", ImageFormat.Png);
graphics.Dispose();
img.Dispose();
Tuy nhiên, trong tạo hình ảnh, cả hai dòng xuất hiện cùng một chiều rộng:
có cách nào cho dòng trên cùng xuất hiện sub-pixel (0.5px)?
Chỉnh sửa: Sau một số nghiên cứu, AGG có thể là cách để đi, trong đó có c# port.
Xin đừng tiền tố tiêu đề của bạn với "C#" và như vậy. Đó là những gì các thẻ cho. –
Giả sử mục tiêu của bạn có ý nghĩa. Ngoại suy, làm thế nào để bạn mong đợi một dòng với chiều rộng bút 0,001 pixel để tìm? –
Nếu bạn giảm kích thước hình ảnh có đường 1 pixel bằng ứng dụng đồ họa, hình ảnh kết quả sẽ hiển thị đường bị mờ. –