رسم اشکال با ویژوال بیسیک دات نت

the_king

مدیرکل انجمن
سلام ادمین عزیز
یه پست خاک گرفته رو کشیدم بالا!! چند روزه دارم سرچ میکنم تا به این تاپیک رسیدم
من میخام رویه فایل PDF شکل رسم کنم. شکلم شامل یه خطه که تهش یه دایره یا یه مربعه
مشاهده پیوست 114503
اندازه دایره یا مربعه ثابته ولی خطه از نقطه شروع کلیک تا پایان کلیک میادش
میشه لطفا راهنماییم کنین
فرض کنید که از نقطه ای در موقعیت x1,y1 خطی به موقعیت x2,y2 رسم بشه. زاویه بین این دو نقطه مشخصه، کافیه به اندازه شعاع دایره در سمت نقطه اول یا دوم با همون زاویه ادامه بدهیم تا به مرکز دایره برسیم و دایره رو رسم کنیم.
نقطه اول یا دوم موقعیت یکی از گوشه های مستطیل ئه، اما اینکه سه گوشه های دیگه مستطیل کجا باشند به این بستگی داره که بخواهید مستطیل رو در چه زاویه ای نسبت به اون خط رسم کنید، موازی باشه، عمودی باشه و ...
برای رسم در PDF از کمپوننت مشخصی مثل Aspose.PDF استفاده می کنید؟
یا ترسیم رو عملا با یک پرینتر مجازی مثل pdfFactory چاپ می کنید که اون نرم افزار pdfFactory از چیزی که چاپ میشه خروجی pdf بسازه؟
 

a.1397

New Member
فرض کنید که از نقطه ای در موقعیت x1,y1 خطی به موقعیت x2,y2 رسم بشه. زاویه بین این دو نقطه مشخصه، کافیه به اندازه شعاع دایره در سمت نقطه اول یا دوم با همون زاویه ادامه بدهیم تا به مرکز دایره برسیم و دایره رو رسم کنیم.
نقطه اول یا دوم موقعیت یکی از گوشه های مستطیل ئه، اما اینکه سه گوشه های دیگه مستطیل کجا باشند به این بستگی داره که بخواهید مستطیل رو در چه زاویه ای نسبت به اون خط رسم کنید، موازی باشه، عمودی باشه و ...
برای رسم در PDF از کمپوننت مشخصی مثل Aspose.PDF استفاده می کنید؟
یا ترسیم رو عملا با یک پرینتر مجازی مثل pdfFactory چاپ می کنید که اون نرم افزار pdfFactory از چیزی که چاپ میشه خروجی pdf بسازه؟
ممنون. میرم سعی کنم با توضیحاتتنون رسم کنم. ببینم میتونم یا نه
راستش از pdfviewer استفاده کردم ولی خط یا دایره تنها تونستم روش بکشم. تازه وقتی کلیک میکنم که شکل دوم رو بکشم شکل اول ازبین میره و رو پی دی اف باقی نمیمونه!!
ترسیم ها باید روی PDF انجام بشه و در نهایت هم بصورت PDF یا TIFF ذخیره بشه
 

a.1397

New Member
فرض کنید که از نقطه ای در موقعیت x1,y1 خطی به موقعیت x2,y2 رسم بشه. زاویه بین این دو نقطه مشخصه، کافیه به اندازه شعاع دایره در سمت نقطه اول یا دوم با همون زاویه ادامه بدهیم تا به مرکز دایره برسیم و دایره رو رسم کنیم.
نقطه اول یا دوم موقعیت یکی از گوشه های مستطیل ئه، اما اینکه سه گوشه های دیگه مستطیل کجا باشند به این بستگی داره که بخواهید مستطیل رو در چه زاویه ای نسبت به اون خط رسم کنید، موازی باشه، عمودی باشه و ...
برای رسم در PDF از کمپوننت مشخصی مثل Aspose.PDF استفاده می کنید؟
یا ترسیم رو عملا با یک پرینتر مجازی مثل pdfFactory چاپ می کنید که اون نرم افزار pdfFactory از چیزی که چاپ میشه خروجی pdf بسازه؟
آقا زاویه بین دو نقطه چجوری بدست میاد؟
 

the_king

مدیرکل انجمن
آقا زاویه بین دو نقطه چجوری بدست میاد؟
با تابع Atan2. دو تا پارامتر داره.
مقدار y ها رو هم از هم می کنید، میشه پارامتر اول، مقدار x ها رو از هم کم می کنید، میشه پارامتر دوم.
خروجی تابع زاویه خط بین دو نقطه میشه :
کد:
Dim angle = Math.Atan2(y2 - y1, x2 - x1)
مثلا :
کد:
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim r As New Random
        Dim x1 = r.Next(PictureBox1.Width)
        Dim x2 = r.Next(PictureBox1.Width)
        Dim y1 = r.Next(PictureBox1.Height)
        Dim y2 = r.Next(PictureBox1.Height)
        Dim angle = Math.Atan2(y2 - y1, x2 - x1)
        Dim radius = 30
        Dim x3 = x2 + Math.Cos(angle) * radius
        Dim y3 = y2 + Math.Sin(angle) * radius
        Using g = PictureBox1.CreateGraphics()
            g.Clear(Color.White)
            g.DrawLine(Pens.Blue, x1, y1, x2, y2)
            g.DrawEllipse(Pens.Blue, CInt(x3 - radius), CInt(y3 - radius), radius * 2, radius * 2)
        End Using
    End Sub
End Class
 

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

بالا