2012-04-30 28 views
5

Tôi đang cố viết văn bản trong C# sao cho nó mở rộng chiều rộng yêu cầu (xấp xỉ).C# tính chiều cao của một chuỗi với chiều rộng đã cho

Để viết văn bản bạn cần chỉ định chiều cao. Vì vậy, tôi cần phải biết chiều cao sẽ làm cho nó viết với chiều dài mong muốn.

Font myFont = new Font(FontFamily.GenericSansSerif, unknown); 
gc.DrawString(LabelText, myFont, gBrush, 0, 0); 

Ive tìm thấy thông tin sau, nhưng yêu cầu FONT, yêu cầu chiều cao. Mà đánh bại toàn bộ điểm?

gc.MeasureString(LabelText, new Font(FontFamily.GenericSansSerif, 12), length); 

Làm cách nào để xác định chiều cao bắt buộc để tạo ví dụ "I am a String" stretch 50px.

+0

'MeasureString' với nhiều kích thước điểm phông chữ khác nhau và chọn kích thước phông chữ tốt nhất. – Oded

+0

Vì vậy, bản dùng thử và lỗi của nó? Tôi vẽ rất nhiều dây .. với các kích thước khác nhau, chắc chắn đo nhiều lần cho mỗi cái không phải là cách tốt nhất? – Doomsknight

+1

Nó không hiệu quả, nhưng nếu bạn bắt đầu với một kích thước hợp lý (có thể bắt nguồn từ chiều rộng tính bằng pixel), bạn có thể giảm thiểu thử nghiệm. – Oded

Trả lời

4

Có ví dụ trên trang web switchonthecode (lưu ý - phiên bản đã lưu trữ). Họ cung cấp một phương pháp có kích thước phông chữ tối thiểu và tối đa cùng với kích thước của khu vực của bạn. Nó cố gắng kích thước tối thiểu và từ đó xác định tỷ lệ phông chữ và sau đó xác định kích thước tốt nhất cho bạn.

Các vấn đề liên quan