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

نام تاپیک: تغییر واحد سانتی متر به Pixel

  1. #1
    کاربر دائمی آواتار rasoul2023
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    <% SYSTEM %>
    سن
    37
    پست
    169

    تغییر واحد سانتی متر به Pixel

    سلام دوستان :

    من یه Picture Box دارم که میخوام اندازه های اونو تغییر بدم از کد زیر این کار را نجام میدم .

    PictureBox1.Size = New Size(TextBox1.Text, TextBox2.Text)


    خوب حالا مسئله اینجاست که مقادیر ورودی بر حسب سانتی متر هستند و فرمت Scale با Picture box یکی نیست . یعنی اینکه باید سانتی متر را به واحد طولی Picture box تبدیل کنم . آیا راهی هست ؟
    واحد اندازه گیری Picture box همون Pixel یا Towip ؟؟؟؟

  2. #2
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    38
    پست
    67

    نقل قول: تغییر واحد سانتی متر به Pixel

    سلام
    1. Determine the dpi resolution of your target.

    2. For inches: pixels = inches * dpi

    3. For cm: pixels = cm / 2.54 * dpi
    ببخشید ترجمشم میگم:
    DPI رو محاسبه کنید
    برای سانتیمتر از pixels = cm / 2.54 * dpi
    و برای اینچ از . pixels = inches * dpi

  3. #3
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    38
    پست
    67

    نقل قول: تغییر واحد سانتی متر به Pixel

    اینم برای Twip اما با #C

    A twip is 1/1440 of an inch



    private static void SetUpTwipsPerPixel(bool Force /* = false */)
    {
    if (!Support.m_IsTwipsPerPixelSetUp || Force)
    {
    Support.m_TwipsPerPixelX = 0;
    Support.m_TwipsPerPixelY = 0;
    try
    {
    IntPtr ptr1 =
    NativeMethods.GetDC(NativeMethods.NullIntPtr);
    if (!ptr1.Equals(NativeMethods.NullIntPtr))
    {
    Support.m_TwipsPerPixelX = 1440 / ((double)
    NativeMethods.GetDeviceCaps(ptr1, 0x58));
    Support.m_TwipsPerPixelY = 1440 / ((double)
    NativeMethods.GetDeviceCaps(ptr1, 90));

    NativeMethods.ReleaseDC(NativeMethods.NullIntPtr, ptr1);
    }
    }
    catch (Exception exception1)
    {
    ProjectData.SetProjectError(exception1);
    ProjectData.ClearProjectError();
    }
    Support.m_IsTwipsPerPixelSetUp = true;
    if ((Support.m_TwipsPerPixelX == 0) ||
    (Support.m_TwipsPerPixelY == 0))
    {
    Support.m_TwipsPerPixelX = 15;
    Support.m_TwipsPerPixelY = 15;
    VB6Errors.RaiseError(7,
    Resources.GetResourceString("Misc_SetUpTwipsPerPix el"));
    }
    }
    }

  4. #4
    کاربر دائمی آواتار rasoul2023
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    <% SYSTEM %>
    سن
    37
    پست
    169

    نقل قول: تغییر واحد سانتی متر به Pixel

    نقل قول نوشته شده توسط gigidagostino مشاهده تاپیک

    ببخشید ترجمشم میگم:
    DPI رو محاسبه کنید
    سلام دوست عزیز منظورتون از dpi را محاسبه کن چیه چطوری میشه محاسبش کرد ؟ واسه من اصلا کیفیت عکس مهم نیست فقط میخوام که Picture box به اندازه سانتی متر که کاربر وارد میکنه بشه و چون واحد اندازه picture box پیکسل هست من این تبدیل را نیاز دارم و کار دیگه ای هم نمیخوام بکنم .

  5. #5
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    38
    پست
    67

    نقل قول: تغییر واحد سانتی متر به Pixel

    سلام. سوالای سخت میپرسید.راستش از روی رزولیشن حساب میشد.هرچی رزولیشن بالا میرفت اینم زیاد میشد.(Dot Per Inch).الان تو ذهنم نیست .عجله دارید؟اگه برای خودتونه معمولا مقدارش یا 96 یا 100 یا 120 هست.
    آخرین ویرایش به وسیله gigidagostino : یک شنبه 13 دی 1388 در 19:05 عصر

  6. #6
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    38
    پست
    67

    نقل قول: تغییر واحد سانتی متر به Pixel

    Dim dpi As Graphics = Me.CreateGraphics
    MessageBox.Show(String.Format("X={0}, Y={1}", dpi.DpiX, dpi.DpiY))
    اینم مقدار dpi رو میده.بزاریش تو اون فورمولا تبدیل رو میتونید انجام بدید

  7. #7
    کاربر دائمی آواتار rasoul2023
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    <% SYSTEM %>
    سن
    37
    پست
    169

    نقل قول: تغییر واحد سانتی متر به Pixel

    ببینید دوست عزیز اینکه میگم نیازی نیست بخاطر اینه که من روی فرمم یه خط کش دارم و اندازه هام که توی هر ریزولیشنی جواب میده را دقیق حساب میکنم . حالا مونده فقط اندازه تصویرم که چون بلد نیستم با موس اندازه هاشو تغییر بدم از این روش دستی استفاده کنم . حالا اگه میدونید چطور میشه یه picture box را توی حالت Run time با موس اندازه هاشو تغییر داد مثل Paint که خوب کارم راه میفته اگه هم نمیدونید که خوب مجبورم از همون حالت دستی استفاده کنم .

  8. #8
    کاربر دائمی آواتار rasoul2023
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    <% SYSTEM %>
    سن
    37
    پست
    169

    نقل قول: تغییر واحد سانتی متر به Pixel

    من که اصلا از اینا سر در نمیارم شما مگه نگفتید ضرب در dbi پس این X,Y چیه دیگه مگه Dpi یه عدد نیست ؟ آیا منظور اینه که برای عدد طولی ضرب در dpi ایکس و برای عرض ضرب در Y بشه ؟

  9. #9
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    38
    پست
    67

    نقل قول: تغییر واحد سانتی متر به Pixel

    سلام
    نمیدونم عمودی و افقیش چه فرقی دارن.رو سیستم من دوتاش یکه و برابر همون 96 بود.نمیدونم بقیه دوستان چرا کمک نمیکنند؟

  10. #10
    کاربر دائمی آواتار rasoul2023
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    <% SYSTEM %>
    سن
    37
    پست
    169

    نقل قول: تغییر واحد سانتی متر به Pixel

    آقا تشکر . تست کردم همون بود که گفتم برای Width طبق فرمول شما باید در Dpi x ضرب بشه و برای Height هم در Dpi y البته برای منم هر دوشون 96 بود که میشه تو همون مقدار یکی ( طبق فرمولی که گفته شد ) ضرب کرد اما اگه ریزولیشن تغییر کنه dpi هم تغییر میکنه تو یکی از محور ها ولی از اونجایی که کاربرا تنظیمات خودشون را جوری انجام میدند که صفحه مانیتور از گوشه ها فاصله ای نداشته باشه معمولا و طبق استاندارد یکی هستند ولی خوب اومدیم یکی دوست نداشت تنظیماتش خوب باشه یا کارت گرافیکش مشکل داشت . واسه همین باید هر دو را اعمال کرد .

    آقا بازم ممنون البته تشکر هم ثبت کردم .

  11. #11

    نقل قول: تغییر واحد سانتی متر به Pixel

    هر 1 سانتی متر برابره با 38 پیکسل . حالا دیگه خودت حساب کن ، هر مقداری که کاربر وارد کرد در 38 ضرب کن .

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

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