SalarSoftwares logo

خوش آمدید. در این سایت می توانید ابزارهای دلفی و نرم افزارها را دریافت کنید.

صفحه اصلی | مقالات | سوال و جواب | Downloads | Beeper help | جستجو | تصاویر برنامه ها | تبلیغات | تماس با ما | وبلاگ شخصی

گرافيک در ASP.NET

برای کار در قسمت گرافيکی ابتدا بايد فضانام های System.Drawing و System.Drawing.2D را اضافه کنيد سپس يک شئ Bitmap و يک شئ Graphics برای کار کردن تعريف کنيد:

Dim bmp As New Bitmap (400, 400)
Dim g As Graphics = Graphics.FromImage (bmp)
g.Clear(Color. White)


حال می توانيم با استفاده از متدهای Graphics به رسم اشکال مختلف بپردازيم. برای رسم هر شکل تو خالی از يک متد Draw و برای رسم هر شکل تو پر از متد Fill استفاده می کنيم . هميشه هنگام استفاده از Draw بايد يک Pen وهنگام استفاده از Fill از يک Brush استفاده کنيد:

Dim bru As New Solid Brush (Color.Red)
Dim ps As New Pen (Color. Blue)
g.FillRectangle (b, New Rectangle (-10, -10, 320, 220))
Dim rec As New Rectangle (-100, -75, 200, 100)
g.DrawPie (ps, rec, 0, 180)


خوب حالا نوبت نمايش عکسی است که توليد کرده ايم برای اين کار کافی است Response.contenttype ر ا تنظيم نماييم. به ياد داشته باشيد که در انتها لازم است تا با فراخوانی متد Dispose، شئ های Bitmap و Graphics را از بين ببريم:

response.contenttype="image/jpeg"
'Send the image to the viewer
(bmp.save (response.outputstream, imageformat.jpeg
bmp.dispose ()
g.dispose ()


خوب حالا احتمالا يک مشکل کوچکی وجود دارد آن هم اين که تمام يا قسمتی از تصوير ساخته شده قابل ديدن نيست. اين مشکل به دليل قرارگرفتن مبدا مختصات در کناره بالا و سمت چپ تصوير به وجود می آيد در حقيقت محور Yها وارونه قرار گرفته است.

برای رفع اين مشکل از کلاس Matrix استفاده می کنيم اين کلاس با دو بردار يکه در فضای سه بعدی تعريف می شود که هر يک از اين دو بردار در حالت عادی به صورت(1,0,0) هستند. جهت چرخاندن محور Yها کافيست 1 را به 1- تبديل کنيم برای تغيير دادن محل مبدا نيز از متد Translate ماتريکس استفاده ميکنيم. سپس بايد اين تغيير را در Graphics اعمال کنيم:

Dim mt As Matrix = New Matrix (1, 0, 0, -1, 0, 0)
mt.Translate (150, 100)
g.Transform = m

دقت داشته باشيد که اين قسمت بايد بلافاصله بعد از تعريف Graphics اضافه شود.

برای رسم اشکال سه بعدی بايد با رسم هر يک از وجوه آن اشکال به طور جداگانه آن اشکال را بسازيم. مثلا برای رسم يک مکعب بايد کد زير را وارد کنيم:

Dim pf(5) As PointF
'--------------- متوازی الاضلاع بالايی
pf(0) = New PointF(120, 120)
pf(1) = New PointF(180, 120)
pf(2) = New PointF(150, 90)
Pf(3) = New PointF(120, 90)
pf(4) = New PointF(120, 120)
g.FillPolygon (bru, pf)
'--------------- متوازی الاضلاع كناری
bru.Color = Color.BlueViolet
pf(0) = New PointF(150, 90)
pf(1) = New PointF(180, 120)
pf(2) = New PointF(180, 180)
pf(3) = New PointF(150, 210)
pf(4) = New PointF(150, 90)
g.FillPolygon(bru, pf)
'----------------- مستطيل جلويی
bru.Color = Color.SteelBlue
pf(0) = New PointF(90, 90)
pf(1) = New PointF(150, 90)
pf(2) = New PointF(150, 210)
pf(3) = New PointF(90, 210)
pf(4) = New PointF(90, 90)
g.FillPolygon(bru, pf)

نویسنده: مجتبی کيانی
برگرفته از: www.Iranasp.net

Titles

صفحه اصلی
Up
سوال و جواب
Downloads
Beeper help
جستجو
تصاویر برنامه ها
تبلیغات
تماس با ما
وبلاگ شخصی

جستجو در سایت

لینک سایر سایت ها


 صفحه اصلی | مقالات | سوال و جواب | Downloads | Beeper help | جستجو | تصاویر برنامه ها | تبلیغات | تماس با ما | وبلاگ شخصی
در صورت بروز هر گونه مشكل در استفاده از نرم افزار هاي اين سايت, مشكل را با مدير اين سايت در ميان بگذاريد.

Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 License.

آخرين به روز رسانی: آمار بازدید: