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に対応した。
拡大は左上の部分しかできない。
つまり、指定して拡大ができない。
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関係-
https://processing.org/reference/PShape.html
↑SVGの扱いについて
https://processing.org/reference/PShape_width.html
↑SVGのサイズ取得
http://www.musashinodenpa.com/p5/index.php?pos=57
↑描写について
-ファイル関係-
http://syunpon.com/programing/java/sample/substring.shtml
↑文字列操作
https://processing.org/reference/selectInput_.html
↑ファイル操作