C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.29255 の関連記事表示

<< 0 >>
■29255  stringからintへの変換
□投稿者/ kinta -(2008/12/06(Sat) 11:57:32)

    分類:[C#] 

    はじめましてこんにちは。早速なのですがform上でPictureBoxを2つ用いて、左には現画像、右にはボタンを押したときに
    乱数を用いて拡大後の画像を表示したいと思っていますが下記のプログラムでなかなかうまくいきません。
    型変換を幾つも試しましたが、それも有効な手段ではありませんでした。
    何か、良い改善策等ございましたら是非お願いしたく思っております。

    ・乱数には細かく倍率が指定できるよう、浮動小数点で派生される乱数を使用。
    ・数値の取得には常に現画像から取得するように設定。
    ・乱数を使って拡大されると有効桁数が永遠に続くので第1位まで表示させるようにif文で調整
    ・その数をDrawを使って表示させたいがstring型をint型に変換できないとコンパイルエラーで終了。

    private void button3_Click(object sender, System.EventArgs e)
    {

    Random cRandom = new System.Random(); //Randomクラス派生
    double dRandom = cRandom.NextDouble(); //0.0-1.0以下の乱数取得



    // 画像ファイルの読み込み
    Bitmap src = new Bitmap(pb1.Image);
    double Width = 0;
    double Height = 0;
    string w,r;

    //入力される値(Width)
    Width = Convert.ToDouble(pb1.Width * dRandom); //元画像のサイズに乱数倍
    w = Width.ToString("0.0");

    int a = w.IndexOf("."); //有効桁調整

    if(a == -1)
    {
    w += "0.0";
    }

    else
    {
    switch(w.Length - a)
    {
    case(2):
    w += "";
    break;
    case(3):
    w += "0";
    break;
    }
    }



    //入力される値(Height)
    Height = Convert.ToDouble(pb1.Height * dRandom);
    r = Height.ToString("0.0");

    int b = r.IndexOf(".");
    if(b == -1)
    {
    r += "0.0";
    }

    else
    {
    switch(r.Length - b)
    {
    case(2):
    r += "";
    break;
    case(3):
    r += "0";
    break;
    }
    }


    pb2.SizeMode = PictureBoxSizeMode.AutoSize;

    // 乱数で作成された横、縦のイメージを作成する
    Bitmap bmp = new Bitmap(pb2.Image,w,r);

    pb2.Image = bmp;
    }
    よろしくお願いします。
親記事 /過去ログ52より / 関連記事表示
削除チェック/

■29257  Re[1]: stringからintへの変換
□投稿者/ επιστημη -(2008/12/06(Sat) 12:03:57)
>
    > string型をint型に

    int.TryParse
記事No.29255 のレス /過去ログ52より / 関連記事表示
削除チェック/

■29256  Re[1]: stringからintへの変換
□投稿者/ .SHO -(2008/12/06(Sat) 12:03:18)
    No29255 (kinta さん) に返信

    > string型をint型に変換できないとコンパイルエラーで終了。

    string s = "123";
    int i = int.Parse( s );

    です。
記事No.29255 のレス /過去ログ52より / 関連記事表示
削除チェック/

■29258  Re[2]: stringからintへの変換
□投稿者/ やじゅ -(2008/12/06(Sat) 12:21:49)
>
記事No.29255 のレス /過去ログ52より / 関連記事表示
削除チェック/

■29261  Re[3]: stringからintへの変換
□投稿者/ kinta -(2008/12/06(Sat) 12:54:43)
    .SHOさま、επιστημηさま、やじゅさま

    早速のアドバイスありがとうございます。
    無事、エラーもなく出来ましたが、今度は画像がその値に上手く調整されず、またエラーとなってしまいました。
    まだ他に問題があったようです。もしこの他に何か追記記載するようなものがあればまたアドバイスいただければと思います。
    よろしくお願いします。

記事No.29255 のレス /過去ログ52より / 関連記事表示
削除チェック/

■29265  Re[4]: stringからintへの変換
□投稿者/ よねKEN -(2008/12/06(Sat) 13:18:47)
    2008/12/06(Sat) 13:22:55 編集(投稿者)

    > 無事、エラーもなく出来ましたが、今度は画像がその値に上手く調整されず、またエラーとなってしまいました。

    どこでどんなエラーになるのですか?

    > ・乱数を使って拡大されると有効桁数が永遠に続くので第1位まで表示させるようにif文で調整

    とソース概要で説明されていますが、Bitmapのサイズは整数ですので、第一位までではなく整数に丸める必要があります。
    なので、ソースコードをどう組むかの前に前提の見直しが必要かと思います。

    --
    ・追記
     前半の指摘は.SHOさんが、後半の指摘はやじゅさんが No29258 で既に指摘されていました。
     すみません、もろかぶりですorz
記事No.29255 のレス /過去ログ52より / 関連記事表示
削除チェック/

■29263  Re[4]: stringからintへの変換
□投稿者/ やじゅ -(2008/12/06(Sat) 13:10:08)
>
    No29261 (kinta さん) に返信

    pb2だと、現画像が対象になってないんじゃないかな?

    // 乱数で作成された横、縦のイメージを作成する
    Bitmap bmp = new Bitmap(pb2.Image,w,r);

    Bitmap bmp = new Bitmap(src,w,r); または Bitmap bmp = new Bitmap(pb1.Image,w,r);
記事No.29255 のレス /過去ログ52より / 関連記事表示
削除チェック/

■29262  Re[4]: stringからintへの変換
□投稿者/ .SHO -(2008/12/06(Sat) 13:06:49)
    No29261 (kinta さん) に返信

    > 無事、エラーもなく出来ましたが、今度は画像がその値に上手く調整されず、またエラーとなってしまいました。

    どこで、どういうエラーになったのですか?
記事No.29255 のレス /過去ログ52より / 関連記事表示
削除チェック/

■29264  Re[1]: stringからintへの変換
□投稿者/ .SHO -(2008/12/06(Sat) 13:17:30)
    No29255 (kinta さん) に返信

    > if(a == -1)
    > {
    > w += "0.0";
    > }

    エラーとは直接関係しないですけど↑これは間違ってますよね?
記事No.29255 のレス /過去ログ52より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -