Advertisement
Heruberuto

Untitled

May 16th, 2015
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.63 KB | None | 0 0
  1. package cz.cvut.fel.pr2.ullriher.semesterProject.Interface;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.image.CropImageFilter;
  6. import java.awt.image.FilteredImageSource;
  7. import java.net.URL;
  8.  
  9. /**
  10.  * Created by Herbert on 12. 5. 2015.
  11.  */
  12. public class FileManager {
  13.     ClassLoader classLoader = getClass().getClassLoader();
  14.  
  15.     public Image getImage(String address){
  16.         ImageIcon i = getImageIcon(address);
  17.         if(i==null)
  18.             return null;
  19.         return i.getImage();
  20.     }
  21.  
  22.     public ImageIcon getImageIcon(String address){
  23.         address="images/"+address;
  24.         URL i=classLoader.getResource(address);
  25.         if(i==null)
  26.             return null;
  27.         return new ImageIcon(i);
  28.     }
  29.     public ImageIcon[] getSprites(String s){
  30.         return getSprites(s, Settings.SPRITE_WIDTH, Settings.SPRITE_HEIGHT,4,3);
  31.     }
  32.     public ImageIcon[] getSprites(String s,int rows,int columns){
  33.         return getSprites(s, Settings.SPRITE_WIDTH, Settings.SPRITE_HEIGHT,rows,columns);
  34.     }
  35.     public ImageIcon[] getSprites(String address, int width, int height,int rows,int columns){
  36.         JLabel componentInstance=new JLabel();
  37.         Image palette=getImage(address);
  38.         int count=rows*columns;
  39.         ImageIcon[] result=new ImageIcon[count];
  40.         for (int i=0;i<rows;i++){
  41.             for (int j=0;j<columns;j++){
  42.                 result[j+columns*i]=new ImageIcon(componentInstance.createImage(new FilteredImageSource(palette.getSource(),
  43.                         new CropImageFilter(j*width,i*height,width,height))));
  44.             }
  45.         }
  46.         return result;
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement