نقل قول: تبدیل سانتی متر به pixel
سلام.
pixels = cm / 2.54 * dpi
برای DPI هم از این کد استفاده کن.
int wid = Screen.PrimaryScreen.WorkingArea.Width;
int ht = Screen.PrimaryScreen.WorkingArea.Height;
نقل قول: تبدیل سانتی متر به pixel
نقل قول:
نوشته شده توسط
ricky22
سلام.
pixels = cm / 2.54 * dpi
برای DPI هم از این کد استفاده کن.
int wid = Screen.PrimaryScreen.WorkingArea.Width;
int ht = Screen.PrimaryScreen.WorkingArea.Height;
این فرمولم غلطه از width ,height چطوری dpi رو بدست بیارم؟؟؟
نقل قول: تبدیل سانتی متر به pixel
نقل قول:
نوشته شده توسط
mahboube
این فرمولم غلطه از width ,height چطوری dpi رو بدست بیارم؟؟؟
چطور غلطه؟!
int CentimeterToPixel(int Centimeter)
{
double pixel = -1;
using (Graphics g = this.CreateGraphics())
{
pixel = Centimeter * g.DpiY / 2.54d;
}
return (int)pixel;
}
نقل قول: تبدیل سانتی متر به pixel
من نیمدونم چرا وقتی resoloution سیستمو عوض میکنم این dpiy ثابت میمونه.همیشه 96
البته جالبه .من یک pnel رو پرینت میگیرم.تو رزولوشن های مختلف اندازش(موقع نمایش)بزرگ و کوچیک میشه.ولی موقع پرینت دقیقا همون اندازه ای یه که خودم بهش داد.چرا؟؟
نقل قول: تبدیل سانتی متر به pixel
میشه سناریو را تشریح کنید شاید اصلا نیازی به این کارا نباشه.
نقل قول: تبدیل سانتی متر به pixel
ببینید من یک panel دارم که می خوام ازش پرینت بگیرم.
و میخوام کاربر اندازشو بر حسب میلیمتر تنظیم کنه.خب توی برنامه باید این میلیمتر به پیکسل تبدیل شه و برای اندازه پنل استفاده شه.
سوال:آیا کاردرستیه من از پنل استفاده کنم برای اینکار؟اگه نه چطوری مثلا یک مستطیل بااندازه مشخص به سانتی متر رو چاپ کنم؟
2-الن بااین فرمول داره جواب میده یعنی موقع چاپ فرق نمی کنه رزولوشن چی باشه اندازه ها درسته.آیا روی هیچ سیستمی ممکنه فرق کنه؟یعنی درست چاپ نشه؟
نقل قول: تبدیل سانتی متر به pixel
نقل قول:
نوشته شده توسط
mahboube
ببینید من یک panel دارم که می خوام ازش پرینت بگیرم.
و میخوام کاربر اندازشو بر حسب میلیمتر تنظیم کنه.خب توی برنامه باید این میلیمتر به پیکسل تبدیل شه و برای اندازه پنل استفاده شه.
سوال:آیا کاردرستیه من از پنل استفاده کنم برای اینکار؟اگه نه چطوری مثلا یک مستطیل بااندازه مشخص به سانتی متر رو چاپ کنم؟
2-الن بااین فرمول داره جواب میده یعنی موقع چاپ فرق نمی کنه رزولوشن چی باشه اندازه ها درسته.آیا روی هیچ سیستمی ممکنه فرق کنه؟یعنی درست چاپ نشه؟
سلام.
خب چرا از خیل عظیم ابزار های گزارش سازی استفاده نمی کنید؟ که انعطاف پذیری زیادی در پرینت گرفتن و تعیین سایز دارند.
در مورد سوال دوم چون تا به حال این کار را نکردم نمی دونم. امتحان کنید.
موفق باشید.
نقل قول: تبدیل سانتی متر به pixel
روی panel یک سری label ها هست که کاربر جاشون رو تنظیم میکنه.
ابزار های گزارش سازی اینجا فکر نمیکنم بدرد من بخوره!!
نقل قول: تبدیل سانتی متر به pixel
هممممم.
پس شما دارید پنل را به یک Graphic Object تبدیل می کنید و پرینت می گیرید.
مثلا :
DllImport("gdi32.dll")]
private static extern bool BitBlt(
IntPtr hdcDest, // handle to destination DC
int nXDest, // x-coord of destination upper-left corner
int nYDest, // y-coord of destination upper-left corner
int nWidth, // width of destination rectangle
int nHeight, // height of destination rectangle
IntPtr hdcSrc, // handle to source DC
int nXSrc, // x-coordinate of source upper-left corner
int nYSrc, // y-coordinate of source upper-left corner
System.Int32 dwRop // raster operation code
);
private const Int32 SRCCOPY = 0xCC0020;
private Bitmap memImage;
private void PrepareImage()
{
Graphics graphic = this.CreateGraphics();
Size s = this.Size;
memImage = new Bitmap(s.Width, s.Height, graphic);
Graphics memGraphic = Graphics.FromImage(memImage);
IntPtr dc1 = graphic.GetHdc();
IntPtr dc2 = memGraphic.GetHdc();
BitBlt(dc2, 0, 0, this.ClientRectangle.Width,
this.ClientRectangle.Height,dc1, 0, 0, SRCCOPY);
graphic.ReleaseHdc(dc1);
memGraphic.ReleaseHdc(dc2);
}
private void button1_Click(object sender, System.EventArgs e)
{
PrepareImage();
printDocument1.Print();
}
private void printDocument1_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memImage,0,0);
}
خب فکر می کنم با این کد راحت تر بشه سایز را تنظیم کرد؟
نقل قول: تبدیل سانتی متر به pixel
خب این چه فرقی کرد.مسئلع تبدیل پیکسل به سانتی متر و برعکسه!!
نقل قول: تبدیل سانتی متر به pixel
سلام،
CodeProject: http://www.codeproject.com/KB/cs/Uni...on_Sample.aspx
Microsoft: http://support.microsoft.com/default...b;en-us;127152
:قلب::قلب::قلب::قلب::قلب::قلب:: لب::قلب::قلب::قلب::قلب::قلب::ق ب::قلب::قلب::قلب::قلب::قلب::قل ::قلب::قلب::قلب::قلب::قلب::قلب: