Hallo Leute
Ich hab folgendes Problem
	
	
	
	
	
		
	
Mit anderen Worten, wie ich es glaube, kann er zwar das Bild laden aber nicht weiter verwenden. Oder er hat beim Laden Probleme.
Zum laden des Bildes verwende ich:
	
	
	
	
	
		
	
Wenn ich das Bild geladen hab, will ich es zuschneiden, das mache ich mit diesem Befehl
	
	
	
	
	
		
	
Der Fehler taucht hier auf
	
	
	
	
	
		
	
Das passiert mir aber nur bei Webstart.
Bei Netbeans läuft alles wunderbar.
Bei cmd (java -jar map3D.jar) stürzt das Program nach dem Ausführen ab. Ohne Fehlermeldung und einer erfolgreichen Meldung "ok".
Ach und bevor ich es vergesse...
Ich lade ein Tiff Bild. Um das zu ermöglichen benutze ich JAI_imageio Bibliothek. Diese ist im .jnlp eingebunden und sollte geladen werden.
Mein .jnlp sieht dabei so aus:
[XML]<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="file:/C:/NetBeansProjects/Map_3D/dist/" href="launch.jnlp" spec="1.0+">
<information>
<title>Mapdarstellung ALPHA</title>
<vendor>Evilion</vendor>
<homepage href=""/>
<description>Map</description>
<description kind="short">Mapdarstellung ALPHA</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se java-vm-args="-Djava.security.policy=applet.policy" initial-heap-size="250M" max-heap-size="500M" version="1.5+"/>
<property name="Xms" value="250M"/>
<property name="Xmx" value="500M"/>
<property name="j3d.rend" value="d3d"/>
<jar eager="true" href="Map_3D.jar" main="true"/>
<jar href="lib/postgresql-8.4-701.jdbc4.jar"/>
<jar href="lib/j3dcore-d3d_dll.jar"/>
<jar href="lib/j3dcore-ogl-chk_dll.jar"/>
<jar href="lib/j3dcore-ogl_dll.jar"/>
<jar href="lib/j3dcore.jar"/>
<jar href="lib/j3dutils.jar"/>
<jar href="lib/vecmath.jar"/>
<jar href="lib/clib_jiio.dll.jar"/>
<jar href="lib/clib_jiio_sse2.dll.jar"/>
<jar href="lib/clib_jiio_util.dll.jar"/>
<jar href="lib/clibwrapper_jiio.jar"/>
<jar href="lib/jai_imageio.jar"/>
</resources>
<application-desc main-class="map.Map">
</application-desc>
</jnlp>
[/XML]
Kann mir jamand helfen?
			
			Ich hab folgendes Problem
		Code:
	
	java.lang.IllegalArgumentException: Width (2147483647) and height (-2147483648) cannot be <= 0
	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
	at java.awt.image.BufferedImage.<init>(Unknown Source)
	at map.Land.cropImage(Land.java:635)
	at map.Land.<init>(Land.java:286)
	at map.Map.createSceneGraph(Map.java:174)
	at map.Map.init(Map.java:142)
	at map.Map.main(Map.java:89)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
	Mit anderen Worten, wie ich es glaube, kann er zwar das Bild laden aber nicht weiter verwenden. Oder er hat beim Laden Probleme.
Zum laden des Bildes verwende ich:
		Java:
	
	      //Lade das Bild von dem Kartenausschnitt
      BufferedImage bufferedImage = null;
      try {
         //Lokal
         //File file = new File("125.tif");
         //URL url = this.getClass().getResource("/images/ortho2004_10.tif");
         //File file = new File("ortho2004_10.tif");
         //File file = new File(ClassLoader.getSystemResource("/image/ortho2004_10.tif"));
         //Java WebStart
         //File file = new File("pics\\land\\125.tif");
         //File file = new File("pics\\land\\ortho2004_10.tif");
         //bufferedImage = ImageIO.read(file);
         bufferedImage = ImageIO.read(getClass().getResourceAsStream(
               "/images/ortho2004_10.tif"));
         System.out.println("Hab das TIF geladen, Boss");
      }
      catch (Exception e) {
         System.out.println("Sorry boss I cant get any image loaded.");
      }
	Wenn ich das Bild geladen hab, will ich es zuschneiden, das mache ich mit diesem Befehl
		Java:
	
	//Erstell ein ImageComponent2D aus dem geschnittenem Bild
      ImageComponent2D textImage = new ImageComponent2D(
            ImageComponent2D.FORMAT_RGB,
            cropImage(bufferedImage,
                      x, y, width, height));
	Der Fehler taucht hier auf
		Java:
	
	public static BufferedImage cropImage(BufferedImage original, int left,
                                         int top, int width, int height) {
      //Das ausgeschnittene Bild
      BufferedImage resizedImage = new BufferedImage(width, height, getType(
            original.getColorModel())); //***<-FEHLER bei original.getColorModel()***
      //Instanziere graphics2D Objekt um ins resizedImage hineinzuzeichnen
      Graphics2D graphics2D = resizedImage.createGraphics();
      //Setze Eigenschaften für das Rendering
      graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                  RenderingHints.VALUE_ANTIALIAS_ON);
      //Wenn die Breite grösser als die Originalbreite ist, wird die Textur Bicubic
      if (width > original.getWidth()) {
         graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                                     RenderingHints.VALUE_INTERPOLATION_BICUBIC);
      }
      //Sonst Bilinear
      else {
         graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                                     RenderingHints.VALUE_INTERPOLATION_BILINEAR);
      }
      graphics2D.setRenderingHint(RenderingHints.KEY_RENDERING,
                                  RenderingHints.VALUE_RENDER_DEFAULT);
      //Zeichne das Bild aus dem Original mit der vorgegebenen Breite und Höhe
      graphics2D.drawImage(original, 0, 0, width, height, left, top,
                           width + left, height + top, null);
      System.out.println("Bild wurde geschnitten");
      /*
      File asdf = new File("C:\\temp\\asdf");
      try {
      ImageIO.write(resizedImage, "JPG", asdf);
      }
      catch (IOException ex) {
      Logger.getLogger(Land.class.getName()).log(Level.SEVERE, null, ex);
      }*/
      return resizedImage;
   }// end of cropImage()
	Das passiert mir aber nur bei Webstart.
Bei Netbeans läuft alles wunderbar.
Bei cmd (java -jar map3D.jar) stürzt das Program nach dem Ausführen ab. Ohne Fehlermeldung und einer erfolgreichen Meldung "ok".
Ach und bevor ich es vergesse...
Ich lade ein Tiff Bild. Um das zu ermöglichen benutze ich JAI_imageio Bibliothek. Diese ist im .jnlp eingebunden und sollte geladen werden.
Mein .jnlp sieht dabei so aus:
[XML]<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="file:/C:/NetBeansProjects/Map_3D/dist/" href="launch.jnlp" spec="1.0+">
<information>
<title>Mapdarstellung ALPHA</title>
<vendor>Evilion</vendor>
<homepage href=""/>
<description>Map</description>
<description kind="short">Mapdarstellung ALPHA</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se java-vm-args="-Djava.security.policy=applet.policy" initial-heap-size="250M" max-heap-size="500M" version="1.5+"/>
<property name="Xms" value="250M"/>
<property name="Xmx" value="500M"/>
<property name="j3d.rend" value="d3d"/>
<jar eager="true" href="Map_3D.jar" main="true"/>
<jar href="lib/postgresql-8.4-701.jdbc4.jar"/>
<jar href="lib/j3dcore-d3d_dll.jar"/>
<jar href="lib/j3dcore-ogl-chk_dll.jar"/>
<jar href="lib/j3dcore-ogl_dll.jar"/>
<jar href="lib/j3dcore.jar"/>
<jar href="lib/j3dutils.jar"/>
<jar href="lib/vecmath.jar"/>
<jar href="lib/clib_jiio.dll.jar"/>
<jar href="lib/clib_jiio_sse2.dll.jar"/>
<jar href="lib/clib_jiio_util.dll.jar"/>
<jar href="lib/clibwrapper_jiio.jar"/>
<jar href="lib/jai_imageio.jar"/>
</resources>
<application-desc main-class="map.Map">
</application-desc>
</jnlp>
[/XML]
Kann mir jamand helfen?
			
				Zuletzt bearbeitet: