‎‎گرافيك بومHTML Canvas Graphics -‎

Previous >    <Next  

‎عنصرHTML ‎<canvas>‎ براي كشيدن گرافيك برروي صفحات وب استفاده ميشود. ‎نمونه اي ازاشكال گرافيكي در زير نشان داده شده است.


‎اشكال گرافيكي بالا با‎<canvas>‎ ايجاد شده است .در بالا چهاز عنصر وجود دارد. ‎مستطيل قرمز، مستطيل گراديان، مستطيل چندرنك و متن گرافيكي رنگي.

‎‎گرافيك بوم چيستWhat is HTML Canvas -‎

‎‎عنصرHTML ‎<canvas>‎ وجاوااسكريپت براي كشيدن گرافيگ براي لحظه استفاده ميشود.

‎عنصر‎<canvas>‎ فضائي براي گرافيك ميباشد .براي گرافيك واقعي در آن فضا ‎بايداز جاوااسكريپت استفاده نمود.

‎‎در جدول زير اولين نسخه مرورگرها كه كاملا از عنصرفوق پشتيباني مي نمايند، نشان داده شده است.

‎‎مرورگر ‎Chrome‎ ‎Internet EXplorer‎ ‎Firefox‎ ‎Safari‎ ‎Opera‎
‎‎نسخه ‎‎4.0‎ ‎‎9.0‎ ‎‎2.0‎ ‎‎3.1‎ ‎‎9.0‎

‎‎مثالهاي بومCanvas Examples -‎

‎يك بوم يك فضاي مستطيلي در صفحه وب است .پيش فرض آن بدون خط و بدون محتوي است .نمونه اسكريپت ‎مطابق زير است.

<canvas id="myCanvas" width="200" height="100"></canvas> 

‎توجه ـ هميشه براي عنصر فوق ويژگي‎id‎ را معرفي نمائيد .در جاوااسكريپت از اين ‎ويژگي براي كار گرافيكي استفاده ميشود.

‎همچنين براي ابعاد بوم از ويژگي هاي‎height , width ‎ استفاده نمائيد .با استفاده ‎style‎‎حاشيه آنرا تنظيم نمائيد .

‎‎در زير يك نمونه پايه وبدون محتوي ملاحظه فرمائيد.

‎‎مثال ـ نمونه بوم بدون محتوي

 <canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
</canvas>

--(go to editor for change code and run)

‎‎اضافه نمودن اسكريپت جاواAdd a JavaScript -‎

‎بعداز اينكه يك بوم مستطيلي ايجاد شد، براي كار طراحي در آن بايد از دستورات جاوااسكريپت ‎استفاده نمائيم .بدنبال نمونه هائي آمده كه مشاهده فرمائيد.

‎‎كشيدن خطDraw a Line -‎

‎‎مثال ـ كشيدن خط در بوم

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();
</script > 

--(go to editor for change code and run)

‎نكته ـ در اين مثال دو تابعmoveto(0,0) وlineto(200,100) در بوم مسير را تعريف ميكنندوسپس ‎تابعstroke()‎ آنرا با مشخصاتش ترسيم ميكند . مسير در بوم خطي است از نقطه(0,0) ‎‎به نقطه(200,100)

‎‎كشيدن دايرهDraw a Circle -‎

‎‎مثال ـ كشيدن دايره در بوم

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
</script > 

--(go to editor for change code and run)

‎در مثال بالا دستور زير را قبل ازتابعstroke()‎ اضافه نمائيد ونتيجه اجرا را به بينيد .شايد ‎انتظار اين باشد كه دو دايره فقط متداخل مشاهده كنيد .اما نيتجه براساس پيوستگي مسير ‎بشكل متفاوتي ميباشد.

‎ctx.arc(95, 50, 20, 0, 2 * Math.PI);‎

‎‎كشيدن متنDraw a Text -‎

‎‎مثال ـ كشيدن متن در بوم

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);
</script >

--(go to editor for change code and run)

‎‎متن خال خاليStroke Text -‎

‎‎مثال ـ كشيدن متن خال خالي

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.strokeText("Hello World", 10, 50);
</script > 

--(go to editor for change code and run)

‎‎كشيدن گراديان خطيDraw Linear Gradient -‎

‎‎مثال ـ نمونه گراديان خطي

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

// Create gradient
var grd = ctx.createLinearGradient(0, 0, 200, 0);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");

// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script > 

--(go to editor for change code and run)

‎‎كشيدن گراديان دايره ايDraw Circular Gradient -‎

Your browser does not support the HTML canvas tag.

‎‎مثال ـ نمونه گراديان دايره اي

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

// Create gradient
var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");

// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script > 

--(go to editor for change code and run)

‎‎كشيدن تصويرDraw Image -‎

‎‎مثال ـ نمونه ترسيم تصوير

<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img, 10, 10);
</script > 

--(go to editor for change code and run)


Previous >    <Next