ヘビィ・SMD! -79ページ目

ヘビィ・SMD!

そんな・・・バナナ!!
1. 甘え度+10 恐れ度+10 寿命-1週間
2. 甘え度+10 恐れ度-10
3. 甘え度-10 恐れ度-10 寿命+1週間

今日は特に書きたいこともないので、javaで画像をリサイズするクラスを公開してみる。

このクラスは単体でコンパイルできるし、単体で実行できる。(jdk1.5で確認)
どこかで見つけたソースをほんの少しだけいじっただけだし、何がどう働いて実行しているかはわからない。
まぁしかし、書いておいて損はないはずだ。



import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;

import javax.imageio.ImageIO;

/**
* 画像リサイズ実行クラス
*
* @author shimada
*/

public class ResizeImageCore {

private ResizeImageCore() {
}

/**
* メインメソッド
*
* @param args 0:入力パス 1:出力パス 2:指定幅 3:指定高さ
* @throws IOException
*/

public static void main(String[] args) throws IOException {
String inPath = args[0];
String outPath = args[1];
int width = Integer.parseInt(args[2]);
int height = Integer.parseInt(args[3]);
resizeByScaledInstance(inPath, outPath, width, height);
}

/**
* 画像リサイズするメソッド
*
* @param inputPath 入力パス
* @param outputPath 出力パス
* @param maxWidth 指定幅
* @param maxHeight 指定高さ
* @throws IOException
*/

public static void resizeByScaledInstance(String inputPath, String outputPath, int maxWidth, int maxHeight)
throws IOException {

// 元画像の読み込み
BufferedImage sourceImage = ImageIO.read(new File(inputPath));

// 縮小比率の計算
BigDecimal bdW = new BigDecimal(maxWidth);
bdW = bdW.divide(new BigDecimal(sourceImage.getWidth()), 8, BigDecimal.ROUND_HALF_UP);
BigDecimal bdH = new BigDecimal(maxHeight);
bdH = bdH.divide(new BigDecimal(sourceImage.getHeight()), 8, BigDecimal.ROUND_HALF_UP);
// 縦横比は変えずに最大幅、最大高さを超えないように比率を指定する
if (bdH.compareTo(bdW) < 0) {
maxWidth = -1;
}
else {
maxHeight = -1;
}

// スケールは以下から選択
// Image.SCALE_AREA_AVERAGING 遅いがなめらか
// Image.SCALE_DEFAULT 普通 速度はFASTと変わらない
// Image.SCALE_FAST 早くて汚い
// Image.SCALE_REPLICATE わからん そこそこ汚い
// Image.SCALE_SMOOTH 遅くてなめらか
Image targetImage = sourceImage.getScaledInstance(maxWidth, maxHeight, Image.SCALE_SMOOTH);

// Image -> BufferedImageの変換
BufferedImage targetBufferedImage = new BufferedImage(targetImage.getWidth(null), targetImage.getHeight(null),
BufferedImage.TYPE_INT_RGB);
Graphics2D g = targetBufferedImage.createGraphics();
g.drawImage(targetImage, 0, 0, null);

// 拡張子取得
String ext = inputPath.substring(inputPath.lastIndexOf(".") + 1);
// 変換画像の出力
ImageIO.write(targetBufferedImage, ext, new File(outputPath));
}
}



あくまで例だね。ちゃんとエラーハンドリングとかしたほうがいいと思う、、、
どうも。
「排便に勤しんでいるうちに皆はランチに行っちゃった」
でお馴染みの
s
m
d
です。(s^m^)d

てかね、なんだよ、男子トイレ。
なぜ大の方は常に満室なんだ?
アレか?
仕事サボって携帯カチカチやってるのか?
トイレでやる必要ないだろう!
(怒っています)

本当に大便器を必要としている人間もいるんです。


と、くだらない話をしてみる。(いつもだね。)

置いてけぼりにされた僕はオフィスの中にある自販機で簡単に昼食を済ませました。

さ!
最近サボっていた引っ越し先候補の調査でもしますか!

デッビール!
どうも。
「ポケモンSSで国際孵化に目下奮闘中!」
でお馴染みの
s
m
d
です。(s^m^)d

今日は営業さんの人と一緒にランチミーティング。

行ってきたのは
昆ぶ家 (こぶや)

期間限定で
「グリーンカレーのつけ麺うどん」
とやらがあったので、サトシばりに
「キミに決めた!」
と注文。
$れっつごーsmd-2010083013120000.jpg

うどんとグリーンカレーですね。

普通のグリーンカレーより、スープちっく(ややサラサラ)で
当然辛い。
と言っても、耐えられない辛さではない。
ココナッツミルクが多めなのかな?
鶏肉、茄子、トマト、キノコ(キクラゲっぽかったけど不明)、あと2種類くらい野菜が入っていた気がする。

お値段680円で、まぁ、アリかな。
胃袋が大きい人は白米セットの方がよろしいかな。
御馳走様でした。