Tôi đang sử dụng lớp .NETCF (Windows Mobile) Graphics
và phương pháp DrawString()
để hiển thị một ký tự đơn lẻ cho màn hình.Đầu ra văn bản trung tâm từ Graphics.DrawString()
Vấn đề là tôi không thể làm cho nó được căn giữa đúng cách. Không có vấn đề gì tôi đặt cho tọa độ Y của vị trí của chuỗi render, nó luôn luôn đi ra thấp hơn đó và lớn hơn kích thước văn bản lớn hơn Y bù đắp.
Ví dụ, ở kích thước văn bản 12, bù đắp khoảng 4, nhưng ở 32 bù đắp khoảng 10
Tôi muốn các nhân vật theo chiều dọc mất hầu hết các hình chữ nhật nó đang được rút ra trong và được làm trung tâm theo chiều ngang. Đây là mã cơ bản của tôi. this
là tham khảo các điều khiển người dùng nó được rút ra trong.
Graphics g = this.CreateGraphics();
float padx = ((float)this.Size.Width) * (0.05F);
float pady = ((float)this.Size.Height) * (0.05F);
float width = ((float)this.Size.Width) - 2 * padx;
float height = ((float)this.Size.Height) - 2 * pady;
float emSize = height;
g.DrawString(letter, new Font(FontFamily.GenericSansSerif, emSize, FontStyle.Regular),
new SolidBrush(Color.Black), padx, pady);
Vâng, tôi biết có sự kiểm soát nhãn mà tôi có thể sử dụng để thay thế và thiết lập các trung với điều đó, nhưng tôi thực sự cần phải làm điều này bằng tay với Graphics
lớp học.
cảm ơn bạn đã cho thấy cách khác để vẽ nội dung nó thực sự giúp tôi với một vấn đề căn giữa quay ra TextRenderer.DrawText chính xác hơn sau đó một e.graphics.drawstring đơn giản cảm ơn rất nhiều, bỏ phiếu từ tôi :) –