Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011 Cologne University of Applied Sciences Licensed under the
   * Educational Community License, Version 2.0 (the "License"); you may
   * not use this file except in compliance with the License. You may
   * obtain a copy of the License at
   *
   * http://www.osedu.org/licenses/ECL-2.0
   *
   * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an "AS IS"
  * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  * or implied. See the License for the specific language governing
  * permissions and limitations under the License.
  */
 package org.amcgala.framework.shape.shape2d;
 
 
 
 
Ein Zeichen dass an der Stelle (x,y) dargestellt wird. Beim ersten Verwenden wird hier die Grafik in fontResource geladen und spaeter statisch genutzt.

Author(s):
Robert Giacinto, Steffen Troester
 
 public class Letter extends Shape {
 	private static final String AMCGALA_FONT_GIF = "amcgala/font.gif";
 	private static int[] fontResources = null;
 	private static final Logger log = LoggerFactory.getLogger(Letter.class);
 	private double x;
 	private double y;
 	private final char letter;

Ein Zeichen dass an der Stelle (x,y) dargestellt wird. Beim ersten Verwenden wird hier die Grafik in fontResource geladen und spaeter statisch genutzt.

Parameters:
x Position
y Poistion
letter Das Zeichen
 
 	public Letter(double xdouble ychar letter) {
 		this. = x;
 		this. = y;
 		this. = letter;
 		// initialisieren falls notwendig
 		if ( == null) {
 			try {
 				.info("Successful loading Font Resources!");
 			} catch (IOException e) {
 				.error("Error loading Font Resources!");
 			}
 		}
 		// Letter lokalisieren
 		 = new ArrayList<Point2d>();
 		for (int i = 0; i < 16 * 16; i++) {
 			// Position jedes Pixels
 			int index = i % 16 + (letter % 16 * 16) + (letter / 16 * 256 * 16)
 					+ (i / 16 * 256);
 			// Farbwerte auswerfen (Shiftenaufgrund von RGB-int-Values)
 			int red = ([index] >> 16) & 0xFF;
 			int green = ([index] >> 8) & 0xFF;
 			int blue = ([index]) & 0xFF;
 			// Farbe definieren (Grafik also austauschbar !)
 			Color c = new Color(redgreenblue);
 			Point2d pixel = new Point2d(i % 16 + x, 16 - (i / 16) + yc);
 			.add(pixel);
 		}
 	}
 
 	public void render(Matrix transformationCamera cameraRenderer renderer) {
 		if ( != null) {
 			for (Point2d p : ) {
 				p.render(transformationcamerarenderer);
 			}
 		}
 	}

Initialisiert die statische Grafik

	private static void initLetters() throws IOException {
		// Datei √∂ffnen
		// Imagefile auslesen
		BufferedImage image = ImageIO.read(f);
		// Groesse definieren
		int width = image.getWidth();
		int height = image.getHeight();
		 = new int[width * height];
		// Pixel beziehen
		image.getRGB(0, 0, widthheight, 0, width);
	}
	public void setX(double x) {
		this. = x;
	}
	public void setY(double y) {
		this. = y;
	}
	public double getX() {
		return ;
	}
	public double getY() {
		return ;
	}
	public char getLetter() {
		return ;
	}
New to GrepCode? Check out our FAQ X