PDA

View Full Version : zoom کردن عکس



samira222
شنبه 25 مهر 1388, 20:36 عصر
سلام
من به یک مشکلی برخورد کردم
یک عکس توی فرمم دارم مه می خوام براش قابلیت zoom in و zoom out بزارم
برای همین دو تا دکمه گذاشتم برای این کار وقتی کاربر روی دکمه ی zoom in کلیک می کنه و بعدش روی صفحه کلیک می کنه تصویر یک مقداری براش zoom بشه و همینطور برای دکمه ی zoom out
من این کد رو براش نوشتم ولی اشتباهه و خطا میده
PictureBox1.Location.X = x1 + 10
در ضمن x1 مختصات مکانی هست که کاربر کلیک کرده
ممنون می شم راهنماییم کنید
مرسی

viper2009
شنبه 25 مهر 1388, 21:25 عصر
سلام
من به یک مشکلی برخورد کردم
یک عکس توی فرمم دارم مه می خوام براش قابلیت zoom in و zoom out بزارم
برای همین دو تا دکمه گذاشتم برای این کار وقتی کاربر روی دکمه ی zoom in کلیک می کنه و بعدش روی صفحه کلیک می کنه تصویر یک مقداری براش zoom بشه و همینطور برای دکمه ی zoom out
من این کد رو براش نوشتم ولی اشتباهه و خطا میده
PictureBox1.Location.X = x1 + 10
در ضمن x1 مختصات مکانی هست که کاربر کلیک کرده
ممنون می شم راهنماییم کنید
مرسی


این کد هارو امتحان کن
برای زوم کردن

PictureBox1.With = picturebox1.With *2

PictureBox1.Height= picturebox1.Height*2

برای از زوم خارج کردن


PictureBox1.With = picturebox1.With /2

PictureBox1.Height= picturebox1.Height/2


یک شرط هم بزار که با یک بار یا دوبار کلیک کردن دیگه زووم نشه یا بشه

samira222
یک شنبه 26 مهر 1388, 10:22 صبح
سلام
دستتون درد نکنه تقريبا درست شد
اما دو تا مشکل هست
من مي خوام وقتي کاربر zoomin مي کنه از وسط نقشه zoomبشه در حالي که توي اين حالت ظاهرا از گوشه ی تصویر زوم می شه !! ؟
و یکی هم اینکه چطوری این قابلیت رو بهش بدم که بتونه با کشیدن ماوس تصویر رو جا به جا کنه یعنی ماوس رو به سمت چپ بکشه و تصویر با حرکت ماوس جابهجا بشه منظورم مثل تصویرهای دیگه است مثلا مثل عکس های زوم شده ی خود ویندوز که با ماوس می شه روی تصویر حرکت کرد!!؟
ممنون

viper2009
یک شنبه 26 مهر 1388, 11:15 صبح
این ضمیمه فکر کنم بکارتون بیاد

reza1944
دوشنبه 27 مهر 1388, 23:34 عصر
viper2009 (http://barnamenevis.org/forum/member.php?u=96914) جان اين چه نوع زوم عكس هست كه داري به بچه مردم ياد ميدي ميگي بدونيم؟!!!!

samira222
دوشنبه 27 مهر 1388, 23:37 عصر
سلام
خیلی ممنونم از فایلتون
ولی راستش خیلی حرفه ای بود و من هم مبتدی:افسرده: چیزی ازش سر در نیاوردم
برای همین مجبور شدم از scrol خود فرم استفاده کنم , زیاد بد نشد قابل تحمله
اما حالا یک مشکل دیگه گیر گردم
من دو تا مختصات xوy دارم که توی دو تا textbox ذخیره شده و با زدن یک دکمه عوض می شه یعنی رکوردهاش تغییر می کنه و عقب و جلو میره حالا من یک radiobutton در حالت فعال گذاشتم و می خوام جایی که xوy نشون میدن , radiobutton هم اونجا بره یعنی تو همون مختصات !!
امیدوارم منظورم رو خوب رسونده باشم
ممنون می شم کمکم کنین

reza1944
سه شنبه 28 مهر 1388, 12:11 عصر
معلومه مي خواي پيمايش يه نقشه رو بنويسي
براي Zoom



Private originalImage As Image = Nothing
Private currentImage As Image = MainImage.Image
Private zoomFactor As Double = 1
Private screenImageWidth As Integer = 0
Private screenImageHeight As Integer = 0
Private Sub Zoom(ByVal factor As Double)
zoomFactor = factor
Dim sourceBitmap As New Bitmap(currentImage)
Dim destBitmap As New Bitmap(CInt(sourceBitmap.Width * factor), _
CInt(sourceBitmap.Height * factor))
Dim destGraphic As Graphics = Graphics.FromImage(destBitmap)
destGraphic.DrawImage(sourceBitmap, 0, 0, destBitmap.Width + 1, _
destBitmap.Height + 1)
screenImageWidth = destBitmap.Width
screenImageHeight = destBitmap.Height
'picture box
MainImage.Image = destBitmap
ZoomLabel.Text = "Zoom: " & zoomFactor * 100 & "%"
End Sub


از radiobutton.location.x و radiobutton.location.y استفاده كن يا

Radiobutton.loaction=new point(x,y)

samira222
چهارشنبه 29 مهر 1388, 20:04 عصر
سلام
ممنون از کمک هاتون
من کد شما رو وارد کردم اما نمی دونم چرا همش رو خطا می گیره !!؟ :افسرده:
حالا می خوام تصویرم رو طوری zoomin و zoomout کنم که مثلا مختصات نقطه ی x در تصویر زوم نشده برابر با مختصات x در تصویر زوم شده باشه یا حداقل یک نسبتی داشته باشن و من بتونم مختصات x رو در هر دو تصویر زوم شده و نشده یکی ببینم , نمی دونم تونستم منظورم رو برسونم یا نه !!؟ (اگه تصویر رو همون نقشه در نظر بگیرین فکر کنم بهتر بتونین بفهمین مشکل من کجاست)
من چند وقته گیر همین مساله شدم , ممنون می شم اگه کمکم کنین

mdshmdsh
جمعه 28 آذر 1393, 11:56 صبح
آقا دمت گرم... سورست عالی بود