PDA

View Full Version : به دست آوردن اندازه واقعی فرم هنگام چاپ



barbodsoft.com
پنج شنبه 23 اردیبهشت 1389, 08:37 صبح
سلام دوستان
من از طریق پرینت فرم یک فرم رو چاپ می کنم. البته اندازه و جای کنترل ها توسط کاربر قابل تنظیم هست. الان کاربر براساس آزمون و خطا باید فرم چاپی رو تنظیم کنه تا به اندازه و استایل مورد نظرش برسه.
حالا اگه یک کنترل مثل خط کش باشه که بشه اندازه های واقعی رو هنگام چاپ به وسیله اون داشته باشیم کار خیلی راحتر خواهد شد. اگه کسی همچین چیزی سراغ دارد لطفا راهنمایی کند. ممنون

در ضمن اگه بگید چطور می شه اندازه هنگام چاپ رو محاسبه کرد، می تونم یک خط کش برای خودم طراحی کنم.



با سلام مجدد
با توضیحاتی که جناب Mani_rf دادن و توضیحاتی که در 4 وجود دارد مشکل حل شد.
به پست 2 و 4 مراجعه فرمایید.

Mani_rf
پنج شنبه 23 اردیبهشت 1389, 23:03 عصر
واحد اندازه مورد استفاده در VB.NET واحد Pixel می باشد که تبدیل آن به سانتیمتر میتوانی اندازه دقیق آن را به هنگام چاپ داشته باشی.
برای تبدیل Pixel به سانتیمتر از فرمول :

LengthCM = LenghtPixels * 2.54 / DPI

استفاده کن.
به جای LenghtPixels : اندازه کنترل یا فاصله آن از لبه
به جای DPI : مقدار دقت تعیین شده برای مانیتور را قرار بده. (اگر توانستی بدست بیاری فعلا 96 بگذار تا فرمول بدست آوردنش را برات بگذارم.)
موفق باشی.

barbodsoft.com
شنبه 25 اردیبهشت 1389, 10:38 صبح
واحد اندازه مورد استفاده در VB.NET واحد Pixel می باشد که تبدیل آن به سانتیمتر میتوانی اندازه دقیق آن را به هنگام چاپ داشته باشی.
برای تبدیل Pixel به سانتیمتر از فرمول :

LengthCM = LenghtPixels * 2.54 / DPI

استفاده کن.
به جای LenghtPixels : اندازه کنترل یا فاصله آن از لبه
به جای DPI : مقدار دقت تعیین شده برای مانیتور را قرار بده. (اگر توانستی بدست بیاری فعلا 96 بگذار تا فرمول بدست آوردنش را برات بگذارم.)

موفق باشی.


سلام مانی جان
اگه می شه فرمول به دست آوردن dpi رو هم بزاری خیلی خوب می شه.

barbodsoft.com
یک شنبه 26 اردیبهشت 1389, 17:47 عصر
سلام مانی جان
اگه می شه فرمول به دست آوردن dpi رو هم بزاری خیلی خوب می شه.

سلام دوستان
با جستجو در سایت نحوه بدست آوردن dpi رو پیدا کردم. جناب gigidagostino در این لینک
http://barnamenevis.org/forum/showthread.php?t=197998&highlight=Dpi

کدی قرار دادن که من به این شکل از اون استفاده کردم.



Dim dpi As Graphics = Me.CreateGraphics
MyDpiX = dpi.DpiX
MyDpiY = dpi.DpiY


البته نمی دونم واقعا DPI برای X با DPI برای Y فرق می کنه یا نه؟ اگه کسی اطلاع دقیقی داره راهنمایی کنه.