我正在处理一些阿拉伯语数据,我想从右到左打印它
我试过这个
StringFormat format = new StringFormat(StringFormatFlags.DirectionRightToLeft);
e.Graphics.DrawString(dataToPrint, valueFont, System.Drawing.Brushes.Black, 20, 20, format);
但这使得文本仍然从左侧开始,并且它使得worse所以现在我看不到全部文字像这样:
但是当我删除format
, 我懂了:
我需要与第二张图像完全相同,但从右到左。
有什么帮助吗?
更新1
这就是我填写的方式dataToPrint
object
System.Drawing.Font valueFont = new System.Drawing.Font("Arial", 15, System.Drawing.FontStyle.Regular);
string dataToPrint = "";
dataToPrint += "رقم بطاقة التسويق = " + farmID.Text + Environment.NewLine;
dataToPrint += "إسم صاخب المزرعة = " + farmOwner.Text + Environment.NewLine;
dataToPrint += "رقم المزرعة = " + farmNumber.Text + Environment.NewLine;
dataToPrint += "الموبايل = " + farmMobile.Text + Environment.NewLine;
dataToPrint += "الإمارة = " + emaraNameArabic.Text + Environment.NewLine;
dataToPrint += "المنطقة = " + areaNameArabic.Text + Environment.NewLine;
dataToPrint += "الإقليم = " + regionNameArabic.Text + Environment.NewLine;
dataToPrint += "مركز الإستلام = " + receivingCenterName.Text + Environment.NewLine;
dataToPrint += "خلاص = " + khalas.Text + Environment.NewLine;
dataToPrint += "فرض = " + fardh.Text + Environment.NewLine;
dataToPrint += "لولو = " + otherLulu.Text + Environment.NewLine;
dataToPrint += " خنيزي= " + khedrawi.Text + Environment.NewLine;
dataToPrint += "بومعان = " + boumaan.Text + Environment.NewLine;
dataToPrint += "برحي = " + barhi.Text + Environment.NewLine;
dataToPrint += "جش خزمة = " + jeshKharma.Text + Environment.NewLine;
dataToPrint += "رزيز = " + reziz.Text + Environment.NewLine;
dataToPrint += "جبري = " + jabri.Text + Environment.NewLine;
dataToPrint += "عنبرة المدينة = " + anbaretAlMadina.Text + Environment.NewLine;
dataToPrint += " شيشي= " + shishi.Text + Environment.NewLine;
dataToPrint += "دباس = " + dabbas.Text + Environment.NewLine;
dataToPrint += "نبتة سيف = " + nabtetSaif.Text + Environment.NewLine;
dataToPrint += "خضراوي = " + khedrawi.Text + Environment.NewLine;
dataToPrint += "هلالي = " + hilali.Text + Environment.NewLine;
dataToPrint += "مكتومي = " + maktoumy.Text + Environment.NewLine;
dataToPrint += "نميشي = " + namishi.Text + Environment.NewLine;
更新2
After @Reyhaneh SH
回答 我把20改为400,这就是结果,仍然不是从右到左
您的两个代码都是正确的,但问题是您使用了 20 像素作为 X 位置。 X 指定从左上角开始的位置。尝试一下:
e.Graphics.DrawString(dataToPrint, valueFont,
System.Drawing.Brushes.Black, 200, 20, format);
您还可以使用任何其他大于 20 像素的合适数字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)