vb6; نحوه انتقال مبدأ مختصات picturebox به گوشه پائین-سمت چپ صفحه؟؟؟

با عرض سلام...
مبدأ مختصات به صورت پیش فرض مثلا در یک picturebox در گوشه بالا-سمت چپ صفحه قرار گرفته. آیا ممکنه مبدأ رو به گوشه پائین-سمت چپ صفحه انتقال داد؟
با تشکر...
 

the_king

مدیرکل انجمن
با عرض سلام...
مبدأ مختصات به صورت پیش فرض مثلا در یک picturebox در گوشه بالا-سمت چپ صفحه قرار گرفته. آیا ممکنه مبدأ رو به گوشه پائین-سمت چپ صفحه انتقال داد؟
با تشکر...

صد البته، در حالت عادی با مشخصه ScaleMode یکی از واحد های از پیش تعیین شده مثل vbTwip و vbPixels و
vbCentimeters را انتخاب می کنند که همه آنها مبدا شان گوشه چپ-بالا است و مقدار محور y ها از بالا به سمت پایین
افزایش می یابد، اما شما می توانید با استفاده از Scale یک واحد اختصاصی با هر جهت دلخواهی برای محور های x و y
ایجاد کنید، در چنین وضعیتی مشخصه ScaleMode مقدار vbCustom خواهد داشت.
در روتین Scale شما مختصات دو نقطه را مشخص می کنید که اولی گوشه چپ-بالا و دومی گوشه راست-پایین تصویر
است. ویژوال بیسیک بر اساس مقداری که شما برای این دو نقطه تعیین کرده اید، واحد و جهت محور ها را
تنظیم خواهد کرد. مقدار x و y نقاط می توانند منفی یا مثبت باشند و بر اساس اینکه x و y نقاط از هم بزرگتر یا کوچکترند، جهت محور تعیین می شود.

مثلا در کد زیر Picture1 مبدا مختصات را در گوشه چپ-پایین و با واحد pixel فرض خواهد کرد و مقدار محور y از پایین
به بالا افزایش می یابد :
کد:
    With Picture1
        .ScaleMode = vbPixels
        Picture1.Scale (0, .ScaleHeight)-(.ScaleWidth, 0)
    End With

در مثال زیر Picture1 مبدا مختصات را در گوشه چپ-پایین و با واحد سانتی متر فرض خواهد کرد و مقدار محور y از بالا به پایین افزایش می یابد :
کد:
    With Picture1
        .ScaleMode = vbCentimeters
        Picture1.Scale (0, -.ScaleHeight)-(.ScaleWidth, 0)
    End With

در مثال زیر Picture1 مبدا مختصات را در وسط تصویر و با واحد نسبی (یک مستطیل 200 در 100) فرض خواهد کرد
و مقدار محور y از پایین به بالا افزایش می یابد :
کد:
    Picture1.Scale (-100, 50)-(100, -50)


در مثال زیر Picture1 مبدا مختصات را در راست-بالای تصویر و با واحد نسبی (یک مربع 10 در 10) فرض خواهد کرد
و مقدار محور x از راست به چپ و محور y از بالا به پایین افزایش می یابد :
کد:
    Picture1.Scale (10, 0)-(0, 10)
 

جدیدترین ارسال ها

بالا