1 / 17

Media Software Design

Media Software Design. DIG 3134 Fall 2012 Lecture 15: Graphics J. Michael Moshell University of Central Florida. Original image* by Moshell et al. PHP Graphics. The Coordinate System (for our example). x  800 y 600. Excerpt from DA Text. PHP Graphics.

rehan
Télécharger la présentation

Media Software Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Media Software Design DIG 3134 Fall 2012 Lecture 15: Graphics J. Michael Moshell University of Central Florida Original image* by Moshell et al .

  2. PHP Graphics The Coordinate System (for our example) x  800 y 600 Excerpt from DA Text

  3. PHP Graphics Motivation: the RSL Pickup Graph

  4. PHP Graphics The Coordinate System (for our example) x  0 800 y 0 600 600 0 yup = 600-y (so y=600 – yup) Excerpt from DA Text

  5. PHP Graphics: The GD Library http://php.net/manual/en/ref.image.php Basic example: $Imagewidth=800;$Imageheight=600; $image=imagecreate($Imagewidth, $Imageheight); $colorWhite=imagecolorallocate($image, 255, 255, 255); $colorGreen=imagecolorallocate($image, 0, 200, 0); // x1 y1 x2 y2 imageline($image, 300, 200, 300,550, $coloGreen); imagepng($image,'graphout.png'); imagedestroy($image); print '<img src="graphout.png?lastmod=1">'; Excerpt from DA Text

  6. PHP Graphics: The GD Library http://php.net/manual/en/ref.image.php Basic example: $Imagewidth=800;$Imageheight=600; $image=imagecreate($Imagewidth, $Imageheight); $colorWhite=imagecolorallocate($image, 255, 255, 255); $colorGreen=imagecolorallocate($image, 0, 200, 0); // x1 y1 x2 y2 imageline($image, 300, 200, 300,550, $coloGreen); imagepng($image,'graphout.png'); imagedestroy($image); print '<img src="graphout.png?lastmod=1">'; Do this to force the browser not to cache the png file. If it is cached, you won't see changes ... frustrating. Excerpt from DA Text

  7. PHP Graphics: The GD Library http://php.net/manual/en/ref.image.php Basic example: $Imagewidth=800;$Imageheight=600; $image=imagecreate($Imagewidth, $Imageheight); $colorWhite=imagecolorallocate($image, 255, 255, 255); $colorGreen=imagecolorallocate($image, 0, 200, 0); // x1 y1 x2 y2 imageline($image, 300, 200, 300,550, $coloGreen); imagepng($image,'graphout.png'); imagedestroy($image); print '<img src="graphout.png?lastmod=1">'; Do this to force the browser not to cache the png file. If it is cached, you won't see changes ... frustrating. NOTE: This sometimes sorta works Excerpt from DA Text

  8. Project 4: Cowpies Examine the cowpie1 prototype. Behavior Code Examine the Requirements for Project 4 markbeam.com

  9. Project 4: Cowpies Requirements BEGIN with a database task: ** remember previous moves and replay them. So we will BEGIN (next week) with a tutorial database example called "address book" to build up your database skills, and also give you some code to steal / merge with cowpie1.php. Let's look at one more graphical issue. Can we write our .png DIRECTLY to browser?

  10. PHP Graphics: The GD Library http://php.net/manual/en/ref.image.php Basic example: $Imagewidth=800;$Imageheight=600; $image=imagecreate($Imagewidth, $Imageheight); $colorWhite=imagecolorallocate($image, 255, 255, 255); $colorGreen=imagecolorallocate($image, 0, 200, 0); // x1 y1 x2 y2 imageline($image, 300, 200, 300,550, $coloGreen); imagepng($image,'graphout.png'); imagedestroy($image); print '<img src="graphout.png?lastmod=1">'; Can we write the image DIRECTLY to the browser, instead of into a file? Docs say we can, so we try it. Excerpt from DA Text

  11. PHP Graphics: The GD Library http://php.net/manual/en/ref.image.php Basic example: $Imagewidth=800;$Imageheight=600; $image=imagecreate($Imagewidth, $Imageheight); $colorWhite=imagecolorallocate($image, 255, 255, 255); $colorGreen=imagecolorallocate($image, 0, 200, 0); // x1 y1 x2 y2 imageline($image, 300, 200, 300,550, $coloGreen); imagepng($image); imagedestroy($image); print '<img src="graphout.png?lastmod=1">'; Can we write the image DIRECTLY to the browser, instead of into a file? Docs say we can, so we try it. Excerpt from DA Text

  12. GD direct to screen: ?? What's this? Any ideas?

  13. GD direct to screen: ?? What's this? Any ideas? View Source

  14. GD direct to screen: ?? Once you've announced to the browser that HTML is coming, it expects HTML. So what if we tried a different header?

  15. So what if we tried a different header? PHP has a header function. We modify cowpie1.php: function htmlheader() { print "<html><body><form method='post'>"; } //main program $angle=$_POST['angle']; $velocity=$_POST['velocity']; if (!$angle) htmlheader(); //need HTML first time for form else header('Content-type: image/png');

  16. Result: yes, it "works" ... but now it's not an HTML form any more, so there are no inputs (controls). It's not interactive. So ... we're better off embedding png in html.

  17. FOR THURSDAY: The usual shoot-out model: GET your Group's BEST GAME ready to play! If you need help with Project 3, come SEE ME.

More Related