نمایش نتایج 1 تا 12 از 12

نام تاپیک: تبدیل سانتی متر به pixel

  1. #1
    کاربر دائمی آواتار mahboube
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    شيراز
    سن
    26
    پست
    596
    تشکر کردن
    308
    105 بار تشکر شده در 70 پست

    تبدیل سانتی متر به pixel

    سلام دوستان چطوری میشه سانتی متر رو به پیکسل تبدیل کرد؟

    اینارم دارم ولی جواب نمیده:

    Graphics g = this.CreateGraphics();
    pixels= centimeters*g.DpiX/2.54;


    بعضی دوستان گفتن از این تابع استفده میشه ولی نمیدونم چطوری؟
    getdevicecap

    ممنون میشم اگر کدشو بزارید.
    تمامی الفاظ جهان را در اختیار داشتیم
    و آن نگفتیم که به کار آید ، چرا که تنها یک سخن ، یک سخن در میانه نبود
    " آزادی"
    ما نگفتیم تو تصویرش کن
    "احمدشاملو"

  2. #2
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,589
    تشکر کردن
    436
    1,355 بار تشکر شده در 643 پست

    نقل قول: تبدیل سانتی متر به pixel

    سلام.
    pixels = cm / 2.54 * dpi
    برای DPI هم از این کد استفاده کن.
    int wid = Screen.PrimaryScreen.WorkingArea.Width;
    int ht = Screen.PrimaryScreen.WorkingArea.Height;
    www.CodeFirst.Info

  3. #3
    کاربر دائمی آواتار mahboube
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    شيراز
    سن
    26
    پست
    596
    تشکر کردن
    308
    105 بار تشکر شده در 70 پست

    نقل قول: تبدیل سانتی متر به pixel

    نقل قول نوشته شده توسط ricky22 مشاهده تاپیک
    سلام.
    pixels = cm / 2.54 * dpi
    برای DPI هم از این کد استفاده کن.
    int wid = Screen.PrimaryScreen.WorkingArea.Width;
    int ht = Screen.PrimaryScreen.WorkingArea.Height;
    این فرمولم غلطه از width ,height چطوری dpi رو بدست بیارم؟؟؟
    تمامی الفاظ جهان را در اختیار داشتیم
    و آن نگفتیم که به کار آید ، چرا که تنها یک سخن ، یک سخن در میانه نبود
    " آزادی"
    ما نگفتیم تو تصویرش کن
    "احمدشاملو"

  4. #4
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,589
    تشکر کردن
    436
    1,355 بار تشکر شده در 643 پست

    نقل قول: تبدیل سانتی متر به 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;
    }
    www.CodeFirst.Info

  5. #5
    کاربر دائمی آواتار mahboube
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    شيراز
    سن
    26
    پست
    596
    تشکر کردن
    308
    105 بار تشکر شده در 70 پست

    نقل قول: تبدیل سانتی متر به pixel

    من نیمدونم چرا وقتی resoloution سیستمو عوض میکنم این dpiy ثابت میمونه.همیشه 96
    البته جالبه .من یک pnel رو پرینت میگیرم.تو رزولوشن های مختلف اندازش(موقع نمایش)بزرگ و کوچیک میشه.ولی موقع پرینت دقیقا همون اندازه ای یه که خودم بهش داد.چرا؟؟
    تمامی الفاظ جهان را در اختیار داشتیم
    و آن نگفتیم که به کار آید ، چرا که تنها یک سخن ، یک سخن در میانه نبود
    " آزادی"
    ما نگفتیم تو تصویرش کن
    "احمدشاملو"

  6. #6
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,589
    تشکر کردن
    436
    1,355 بار تشکر شده در 643 پست

    نقل قول: تبدیل سانتی متر به pixel

    میشه سناریو را تشریح کنید شاید اصلا نیازی به این کارا نباشه.
    www.CodeFirst.Info

  7. #7
    کاربر دائمی آواتار mahboube
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    شيراز
    سن
    26
    پست
    596
    تشکر کردن
    308
    105 بار تشکر شده در 70 پست

    نقل قول: تبدیل سانتی متر به pixel

    ببینید من یک panel دارم که می خوام ازش پرینت بگیرم.
    و میخوام کاربر اندازشو بر حسب میلیمتر تنظیم کنه.خب توی برنامه باید این میلیمتر به پیکسل تبدیل شه و برای اندازه پنل استفاده شه.
    سوال:آیا کاردرستیه من از پنل استفاده کنم برای اینکار؟اگه نه چطوری مثلا یک مستطیل بااندازه مشخص به سانتی متر رو چاپ کنم؟
    2-الن بااین فرمول داره جواب میده یعنی موقع چاپ فرق نمی کنه رزولوشن چی باشه اندازه ها درسته.آیا روی هیچ سیستمی ممکنه فرق کنه؟یعنی درست چاپ نشه؟
    تمامی الفاظ جهان را در اختیار داشتیم
    و آن نگفتیم که به کار آید ، چرا که تنها یک سخن ، یک سخن در میانه نبود
    " آزادی"
    ما نگفتیم تو تصویرش کن
    "احمدشاملو"

  8. #8
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,589
    تشکر کردن
    436
    1,355 بار تشکر شده در 643 پست

    نقل قول: تبدیل سانتی متر به pixel

    نقل قول نوشته شده توسط mahboube مشاهده تاپیک
    ببینید من یک panel دارم که می خوام ازش پرینت بگیرم.
    و میخوام کاربر اندازشو بر حسب میلیمتر تنظیم کنه.خب توی برنامه باید این میلیمتر به پیکسل تبدیل شه و برای اندازه پنل استفاده شه.
    سوال:آیا کاردرستیه من از پنل استفاده کنم برای اینکار؟اگه نه چطوری مثلا یک مستطیل بااندازه مشخص به سانتی متر رو چاپ کنم؟
    2-الن بااین فرمول داره جواب میده یعنی موقع چاپ فرق نمی کنه رزولوشن چی باشه اندازه ها درسته.آیا روی هیچ سیستمی ممکنه فرق کنه؟یعنی درست چاپ نشه؟
    سلام.
    خب چرا از خیل عظیم ابزار های گزارش سازی استفاده نمی کنید؟ که انعطاف پذیری زیادی در پرینت گرفتن و تعیین سایز دارند.
    در مورد سوال دوم چون تا به حال این کار را نکردم نمی دونم. امتحان کنید.
    موفق باشید.
    www.CodeFirst.Info

  9. #9
    کاربر دائمی آواتار mahboube
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    شيراز
    سن
    26
    پست
    596
    تشکر کردن
    308
    105 بار تشکر شده در 70 پست

    نقل قول: تبدیل سانتی متر به pixel

    روی panel یک سری label ها هست که کاربر جاشون رو تنظیم میکنه.
    ابزار های گزارش سازی اینجا فکر نمیکنم بدرد من بخوره!!
    تمامی الفاظ جهان را در اختیار داشتیم
    و آن نگفتیم که به کار آید ، چرا که تنها یک سخن ، یک سخن در میانه نبود
    " آزادی"
    ما نگفتیم تو تصویرش کن
    "احمدشاملو"

  10. #10
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,589
    تشکر کردن
    436
    1,355 بار تشکر شده در 643 پست

    نقل قول: تبدیل سانتی متر به 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);
    }

    خب فکر می کنم با این کد راحت تر بشه سایز را تنظیم کرد؟
    www.CodeFirst.Info

  11. #11
    کاربر دائمی آواتار mahboube
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    شيراز
    سن
    26
    پست
    596
    تشکر کردن
    308
    105 بار تشکر شده در 70 پست

    نقل قول: تبدیل سانتی متر به pixel

    خب این چه فرقی کرد.مسئلع تبدیل پیکسل به سانتی متر و برعکسه!!
    تمامی الفاظ جهان را در اختیار داشتیم
    و آن نگفتیم که به کار آید ، چرا که تنها یک سخن ، یک سخن در میانه نبود
    " آزادی"
    ما نگفتیم تو تصویرش کن
    "احمدشاملو"

  12. #12
    کاربر دائمی آواتار tooraj_azizi_1035
    تاریخ عضویت
    تیر 1386
    سن
    28
    پست
    1,462
    تشکر کردن
    11
    881 بار تشکر شده در 659 پست

    نقل قول: تبدیل سانتی متر به pixel

    farsiMSDN: منبع فارسی Developer های ایران:http://www.farsimsdn.somee.com/default.aspx?id=1 (یک سعی برای رفع مشکل ابدی برنامه نویسی در ایران)

  13. کاربرانی که به خاطر مطلب مفید tooraj_azizi_1035 از وی تشکر کرده‌اند:


بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •