スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    サムネイルを作るプログラムVer2

    今日はちゃんと学校に行きましたよ(挨拶

    レポートの受理の確認だけだったんで、午後はアキバに行ってきました。
    特に買うものはない…はずだったんだけど、最近メモリが少ない気がしてたのでSamusung製DDR400の512MB二枚組を思わず買ってしまった罠。
    メモリ1.5GBって絶対使い切らないだろ…
    まあ問題なく動作したのでよしとする(ぉ


    というわけで、アプリのバージョンうp゚+.(・∀・)゚+.゚

    [実行ファイル]
    graphic_minimize.exe(右クリックから保存してください)

    [実行画面]
    20060120.002.jpg


    [変更点]
    ・GIF形式で保存できるようにした。
    ・圧縮アルゴリズムを選べるようにした。
    ・任意のサイズを指定できるようにした。
    ・処理時間を表示するようにした。
    ・ボタン名を"Minimize"から"Resize"に変更。
    ・エンターキーで次のコントロールに移動するようにした。
    ・設定を変更したら保存するようにした。(リサイズしない場合も)

    [修正点]
    ・設定ファイル(save.ini)を新規作成できない点を修正。

    不具合等指摘してくださった皆様、ありがとうございました。
    アプリの開発って、見えないところが一番苦労するのねOTL

    例によってソースを晒してみるテスト。
    実は画像を縮小する機能もC#に実装されていたのでそれを流用(ぉ
    なんかフロントエンドしかコーディングしてない悪寒…

    [主要部分]
    //画像を縮小して保存
    private void btnMini_Click(object sender, System.EventArgs e)
    {
    //計算開始時間をチェック
    int time = System.Environment.TickCount;

    //初期設定とコンストラクタ
    int SaveWidth, SaveHeight;
    m_Size = cmbSize.Text;
    int size = Convert.ToInt32(m_Size);

    Bitmap SourceImage = new Bitmap(pictureBox1.Image);

    //縦と横で圧縮後のサイズを決める
    if (SourceImage.Width > SourceImage.Height)
    {
    SaveWidth = size;
    SaveHeight = SourceImage.Height * size / SourceImage.Width;
    }
    else
    {
    SaveHeight = size;
    SaveWidth = SourceImage.Width * size / SourceImage.Height;
    }

    Bitmap SaveImage = new Bitmap(SaveWidth, SaveHeight);
    Graphics tempG = Graphics.FromImage(SaveImage);


    //アルゴリズムを考慮
    switch (m_Algorithm)
    {
    case "NearestNeighbor":
    tempG.InterpolationMode = InterpolationMode.NearestNeighbor;
    break;
    case "Bilinear":
    tempG.InterpolationMode = InterpolationMode.Bilinear;
    break;
    case "Bicubic":
    tempG.InterpolationMode = InterpolationMode.Bicubic;
    break;
    case "HQBicubic":
    tempG.InterpolationMode = InterpolationMode.HighQualityBicubic;
    break;
    }
    tempG.DrawImage(SourceImage, 0, 0, SaveWidth, SaveHeight);

    //保存形式を考慮して保存
    Directory.CreateDirectory(m_thumbnailDirectory);
    switch (m_Format)
    {
    case "bmp":
    SaveImage.Save(m_thumbnailDirectory + @"\th_" +Path.GetFileNameWithoutExtension(txtPath.Text) + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
    break;
    case "jpg":
    SaveImage.Save(m_thumbnailDirectory + @"\th_" +Path.GetFileNameWithoutExtension(txtPath.Text) + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
    break;
    case "png":
    SaveImage.Save(m_thumbnailDirectory + @"\th_" +Path.GetFileNameWithoutExtension(txtPath.Text) + ".png", System.Drawing.Imaging.ImageFormat.Png);
    break;
    case "gif":
    SaveImage.Save(m_thumbnailDirectory + @"\th_" + Path.GetFileNameWithoutExtension(txtPath.Text) + ".gif", System.Drawing.Imaging.ImageFormat.Gif);
    break;
    }

    //計算終了時間をチェック
    time = System.Environment.TickCount - time;

    MessageBox.Show("サムネイルを保存しました\n処理時間は" + Convert.ToString(time) + "ミリ秒でした", "処理時間", MessageBoxButtons.OK, MessageBoxIcon.Information);

    }
    スポンサーサイト

    コメントの投稿

    非公開コメント

    さて、今日は本当に大学に行ったのかと問いつめ(ry

    脳内大学に行ったんですよきっと

    反論できない俺ガイル..._〆('A`)
    プロフィール

    ヴォルフィード(ヴォル)

    Author:ヴォルフィード(ヴォル)
    職業:社畜
    メール:lich.to.mbre@gmail.com(@を半角に変えてとかそんな感じ)
    戯れ言:放置しすぎた

    ・アニメ視聴リスト(-):
    ゆるゆり
    シュタゲ
    うさぎドロップ
    ピングドラム

    ・ゲーム:
    Xchange Alternative2
    XChange Alternative2


    絵師:
    CARNELIAN
    杉菜水姫
    上田メタヲ

    サークル:
    おたうT-Rかえでの丘Z-Less自称清純派BLACK DOGbolze.丸田道場ローカスタ・キネンシス

    ソフトメーカ:
    07th Expansion
    TYPE-MOON
    Innocent Grey
    アリスソフト
    エルフ
    テリオス
    ORBIT
    BlackCyc
    アトリエかぐや
    ふぐり屋
    ミンク

    ・チェックしてる本:
    ---コミック---
    ToLoveる だーくね巣
    さよなら絶望先生
    生徒会役員共
    ゆるゆり
    ---ラノベ---
    マリア様がみてる(~薔薇のミルフィーユ)


    『桃華月憚』応援中です!

    最近の記事
    最近のコメント
    最近のトラックバック
    月別アーカイブ
    カテゴリー
    ブロとも申請フォーム

    この人とブロともになる

    ブログ内検索
    RSSフィード
    リンク
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。