【Processing】Windows10의 포토를 대신하는 포토 뷰어를 자작

Windows10 사진에 실망



Windows10의 표준 포토 뷰어의 「포토」가 Windows7일 때의 것보다
사용성이 나빠지고 있다고 생각했다.

그리고 무엇보다 gif나 SVG를 IE(Edge)로 여는 것이 귀찮았다.

인인인인인인인인인인인인인인인인인인인인인인인인인인인인인인
.jpg .png는 어쨌든 .svg .gif도 볼 수 있기를 원합니다.
Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y

그래서 ...
Windows10에서 사용할 수 있는 포토뷰어를 만들려고 했다.
(아무래도 이전의 포토뷰어도 사용할 수 있는 것 같지만···?)

프로그램 작성은 「Processing」으로



스스로 소스를 쓸 수 있는 언어로 제일 화상이 강할 것 같았기 때문에.


좀 더 맛있고 깨끗한 프로그램을 쓰고 싶다 ...

출처



아직도 도중.
SVG, PNG, JPG에 대응했다.
확대는 왼쪽 위 부분 밖에 할 수 없다.
즉, 지정하여 확대를 할 수 없다.

view.pde

static String gz_pth;
String rv_pth;
StringBuffer sb1;
int sls;
String em_pth; 
String exten;

PShape r_svg;    
int nf_cn=1;     
int bf_cn=0;     
float scl=1.0;   
float mo_rt=0;

int mx=0;
int my=0;
int x_sum=0;
int y_sum=0;

PImage img;


void setup() {
  background(255);
  size(1000,1000);
  frameRate(12);

  selectInput("Select a folder to process:", "folderSelected",null, this);
}

void fileSelected(File selection) {
  if (selection == null) {
    println("CANCELED");
  } else {
  }
}

void folderSelected(File selection){

  println("User selected " + selection.getAbsolutePath());

  gz_pth=selection.getAbsolutePath();
  sb1=new StringBuffer(gz_pth);
  rv_pth=sb1.reverse().toString();

  exten=rv_pth;

  sls=rv_pth.indexOf("\\");
  em_pth=rv_pth.substring(sls);
  sb1=new StringBuffer(em_pth);
  em_pth=sb1.reverse().toString();
  println(em_pth);

  sls=exten.indexOf(".");
  exten=exten.substring(0,sls);
  sb1=new StringBuffer(exten);
  exten=sb1.reverse().toString();
  println(exten);
}

void roadSVG(){
  float hei,wid;

  r_svg=loadShape(gz_pth);
  hei=r_svg.height;
  wid=r_svg.width;
  scl=1.0+mo_rt*0.05;

  shape(r_svg,0,0,wid*scl,hei*scl);

  //r_svg.scale(scl);

}

void img(){

  img = loadImage(gz_pth);
  scl = 1.0+mo_rt*0.05;
  image(img,0,0,img.width*scl,img.height*scl);

}

void draw(){
  background(255);
  if(exten==null ){
  }

  else{
    //SVG
    if(exten.equals("svg")){
      roadSVG();
    }
    //END SVG


    else if(exten.equals("jpg")){
      img();
    }

    else if(exten.equals("png")){
      img();
    }

    else if(exten.equals("gif")){
      img();
    }

  }
}


void mouseWheel(MouseEvent e) {
  mo_rt+=(e.getCount()*-1);
}

너무 끔찍한 소스이기 때문에
이런 종류의 일을하는 대략적인 흐름과 변수
소개를 여기에서



이렇게 선언해 놓고 큰 일을 하지 않기 때문에,
보다 효율적으로 변수를 사용하는 방법이 반드시 있을 것.

참조



-SVG 관계-
htps : // p 로세신 g. rg/레후페렌세/P샤페. HTML
↑SVG의 취급에 대해서
htps : // p 로세신 g. 오 rg/레후오렌세/P 샤페_우우 dth. HTML
↑SVG의 사이즈 취득
h tp // w w. 무사시 전파. 이 m/p5/그리고 x. php? 포 s = 57
↑묘사에 대해서

-파일 관계-
h tp // 코 m/p로g라민g/쟈ゔぁ/사mpぇ/스 bst린g. shtml
↑문자열 조작
htps : // p 로세신 g. 오 rg / 레후 렌세 / 세 ぇ c 칩 t_. HTML
↑파일 조작

좋은 웹페이지 즐겨찾기