1   package sample;
2   
3   import static fi.jyu.mit.graphics.Bitmap.packRGB;
4   import fi.jyu.mit.graphics.Bitmap;
5   import fi.jyu.mit.graphics.EasyWindow;
6   import static java.lang.Math.*;
7   
8   /**
9    * Esimerkki miten bitmap luodaan ilman kuvaa
10   * @author vesal
11   * @version 5.9.2010
12   */
13  public class BitmapEmptySample {
14  
15      /**
16       * Piirretään 20 pikseliä leveä risti mustalla ja punaisella
17       * keskelle bitmappiä. Muu osa väritetään keltaiseksi.
18       * Piste kuuluu ristiin jos se on suorien y=x tai y=-x+200 lähellä
19       * @param args
20       */
21      public static void main(String[] args) {
22          Bitmap bm = new Bitmap(0,0,200,200);
23          EasyWindow window = new EasyWindow(bm.getWidth()+50,bm.getHeight()+50);
24          window.add(bm);
25          int musta     = packRGB(0,0,0);
26          int keltainen = packRGB(255,255,0);
27          int punainen  = packRGB(255,0,0);
28          int m = bm.getWidth();
29          
30          int [][] data = bm.getData();
31          
32          for (int iy=0; iy<data.length;iy++) {
33              for (int ix=0; ix<data[iy].length;ix++) {
34                  int c = keltainen;
35                  if ( abs(iy-ix)   < 10  ) c = musta;    // jos lähellä suoraa y = x niin mustaa
36                  if ( abs(iy+ix-m) < 10  ) c = punainen; // jos lähellä suoraa y = - x + m  
37                  data[iy][ix] = c;
38              }
39          }
40          bm.setData(0,0,data);
41          bm.redraw();
42      }
43  
44  }
45