Advertisement
Guest User

Untitled

a guest
May 25th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.13 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4.  
  5.  
  6.  
  7. public class DN12 {
  8.  
  9.     public static void main(String[] args) throws Exception {
  10.         //File datoteka = new File("sah9x9.ppm");
  11.         File datoteka = new File(args[0]);
  12.         String size = "";
  13.  
  14.         byte vsebina[] = new byte[(int) datoteka.length()];
  15.         FileInputStream fis = new FileInputStream(datoteka);
  16.         fis.read(vsebina);
  17.         fis.close();
  18.        
  19.         String sirina = "";
  20.         int count =3;
  21.         while((int) vsebina[count] != 32){  //ko naletiš na prvi presledek se ustavi in dobiš širino
  22.             sirina = sirina + (char)vsebina[count];
  23.             count++;
  24.         }
  25.         int sirinaDva = Integer.parseInt(sirina);
  26.         //System.out.println(sirinaDva);
  27.        
  28.        
  29.         String glava = "";
  30.         if (args.length > 2) {
  31.             if (args[2].equals("-size")) {
  32.                 int i = 3;
  33.                 while ((int) vsebina[i] != 10) {  // 10 je koda za newline
  34.                     size = size + (char) vsebina[i];
  35.                     i++;
  36.                 }
  37.                
  38.             }  
  39.            
  40.         }
  41.         ArrayList<Integer> seznam = new ArrayList<Integer>();
  42.         char [] z = {' ', '.', '\'', ':', 'o', '&', '8', '#', '@'};
  43.         int [] s = {230, 200, 180, 160, 130, 100, 70, 50};
  44.        
  45.        
  46.         if(args.length==2 && args[1].equals("1")){
  47.             for(int i=11;i<vsebina.length;i=i+3){
  48.                 int r = vsebina[i];
  49.                 if(r<0){
  50.                     r = 255-Math.abs(r)+1;
  51.                 }
  52.            
  53.                 int g = vsebina[i+1];
  54.                 if(g<0){
  55.                     g = 255-Math.abs(g)+1;
  56.                 }
  57.            
  58.                 int b = vsebina[i+2];
  59.            
  60.                 if(b<0){
  61.                     b = 255-Math.abs(b)+1;
  62.                 }
  63.                 int sivina = (r+g+b)/3;
  64.                 seznam.add(sivina);
  65.                 //if(a%sirinaDva==0){
  66.                     //System.out.println("");
  67.             }
  68.         }
  69.         int a = 0;
  70.         for (int sivina : seznam) {
  71.             a++;
  72.             char znak = '@';
  73.             for (int i=0; i<8;i++){
  74.                 if (sivina >= s[i]){
  75.                     znak = z[i];
  76.                     break;
  77.                 }
  78.             }System.out.print(znak);
  79.             if(a%sirinaDva==0){
  80.                 System.out.println("");
  81.             }
  82.        
  83.         }
  84.        
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement