小编bik*_*ikt的帖子

MeasureString和DrawString的区别

为什么我必须将MeasureString()结果宽度增加21% size.Width = size.Width * 1.21f; 来逃避Word Wrap DrawString()

我需要一个解决方案来获得确切的结果.

相同的字体,相同的字符串格式,两个函数中使用的文本相同.


从OP回答:

  SizeF size = graphics.MeasureString(element.Currency, Currencyfont, new PointF(0, 0), strFormatLeft);
  size.Width = size.Width * 1.21f;
  int freespace = rect.Width - (int)size.Width;
  if (freespace < ImageSize) { if (freespace > 0) ImageSize = freespace; else ImageSize = 0; }
  int FlagY = y + (CurrencySize - ImageSize) / 2;
  int FlagX = (freespace - ImageSize) / 2;
  graphics.DrawImage(GetResourseImage(@"Flags." + element.Flag.ToUpper() + ".png"), 
         new Rectangle(FlagX, FlagY, ImageSize, ImageSize)); …
Run Code Online (Sandbox Code Playgroud)

.net c# string graphics

9
推荐指数
1
解决办法
8126
查看次数

标签 统计

.net ×1

c# ×1

graphics ×1

string ×1