• ベストアンサー

C# or VB 文字を描く

文字を描く処理の中で例えば長い文字列を画像にする場合に複数の画像にわけて保存したい場合 どのようにすればいいのでしょうか? 幅3000あるBitmapを0~1700と、1700~3000に分けたいです。 BitmapのClone使ったり、色々してみたのですがうまくいかないです。 根本的に何か考え方が間違ってるような気がします。 教えて下さい

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

Graphics.DrawImage で座標を指定すればできます。 http://msdn.microsoft.com/ja-jp/library/system.drawing.graphics.drawimage(v=vs.80).aspx >指定した位置に指定したサイズで、指定した Image の指定した部分を描画します。 指定した Image の指定した部分のみ描画できます。

dodoemon
質問者

お礼

その方法で実現できました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

参考URLの「折り返して文字を描画する」を使えば、四角形の領域に収まるように文字を描画できます。 描画した後で切り出すと、文字がふたつに分割されたりして面倒です。

参考URL:
http://dobon.net/vb/dotnet/graphics/drawstring.html#rect
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文字描写(C# or VB)

    C#で開発をしております。 テキストボックスなどで入力した文字列を画像にするというプログラムなのですが 幅に制限があり、その幅を超えると文字が切れて表示されてしまうため 切れない所まで一旦画像を保存し、次はその箇所から開始する これを終端まで繰り返すというプログラムをつくってます。 (1)入力した文字列の長さ取得 (2)繰り返し文で0から(1)で取得した長さまで以下の作業を繰り返す SubStringで文字を切り取り、その幅を取得 取得した幅が指定した幅Xを超える場合その1つ手前までの文字画像を保存し、その箇所までの文字列を切り取る これを繰り返す これでそれらしきものはできたのですが もっと簡単な方法はないでしょうか?

  • c言語の文字、また文字列について

    c言語の文字、つまり「'(シングルクオーテーション)」で囲んだ単数の半角文字は、メモリに保存されているのでしょうか。 また、アドレスは有るのでしょうか。 c言語の文字列、つまり「"(ダブルクオーテーション)」で囲んだ複数の文字は、メモリに保存されているのでしょうか。 また、アドレスは有るのでしょうか。

  • objective-c 画像の反転と回転

    Cについては、全くの素人です。 読み込んだ画像を回転および反転して保存したいのですが、 画像の取り扱いが全くわからないのでご教授をお願いします。 webや書籍を探してみたのですが、画像の取り扱いについて記載しているものがなく困っています。 処理としては、複数毎の画像を読み取り、2枚目の画像を反転、3枚目を回転したいのです。 処理した画像を別名で保存するという流れです。 画像を読み取り、保存する処理は正常に行えています。 for(int i=0; i< [myImages count]; i++){     NSImage *bitmap = [[NSImage alloc] initWithContentsOfFile:[[myImages objectAtIndex:i]imageRepresentation]];     //反転          // 回転処理          // 画像保存     NSData* indata = [bitmap TIFFRepresentation];     NSBitmapImageRep* bitmapImageRep = [NSBitmapImageRep imageRepWithData:indata];     NSData* outdata = [bitmapImageRep representationUsingType:NSJPEGFileType properties:[NSDictionary dictionary]];     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);     NSString* path = [NSString stringWithFormat:@"%@/test_%d.jpg",[paths objectAtIndex:0],i, nil];     [outdata writeToFile:path atomically:YES];     [bitmap release]; } 回転処理については、調べた結果、NSAffineTransformを使う?ところまではわかったのですが、書式やらが全くわからない状態です。 反転処理は、setFlipped:YESで反転されるような文献を見つけたのですが、全く反転されません。 ご教授のほど、よろしくお願いします。

  • 画像の取り込みについてですが

    プログラミングの初心者ですが、現在VC++2005でプログラムについて勉強しています。画像の取り込みを行うところで、わからなくなってしまったので、みなさんのご指導お願いいたします。 今、行いたいのは あるフォルダAの中に100枚の画像の中の何枚かに対し連続的に処理することです。この100枚の画像の名前は1から100までの番号です。例えば、50枚目から70枚目の20枚の画像に対して、二値化を行って、結果を保存したいです。保存する時の画像名前は元の番号に100を足して、(例:50+100=150)そうすると、元は何番なのかがわかります。 ここで、この50番から連続の20枚の画像をfor文で実現しようとしています。しかしながら、連続に取り込む方法がよくわからなくて困っています。 Bitmap^ bmap=gcnew Bitmap("C¥A"); ここでフォルダを指定します。 for(n=0;n<=20;n++){ ここから20枚の画像を処理する /ここで一番最初の50番の画像を取り込みます/(やり方がわからないです) /二値化処理をします/ /保存します(保存の仕方がわからないです)/ /取り込んだ50番をn足して次の51番になります(やり方がわからないです)。for文に戻り、続けて処理を行う/ } もしかして根本的な考え方も間違っているかもしれませんが、ご指導をいただければ感謝致します。 どうぞよろしくお願い致します。

  • 文字列の長さを知りたい

    文字列を表示した場合文字によって幅が違うので 文字数×一つの文字の幅で文字列の長さがでません 文字列の長さがでないとエジタを作る場合に カレットをどこにおいていいのかわかりません (例えばフォントによってはiiiよりwwwの方が長い) 文字列の長さを知る方法はないのでしょうか?

  • コピーした文字を沢山記憶させたい。

    HP上からとり込んだ画像に、”そこのHPの名前_その画像の名前_それに関連する情報”といった風に名前をつけて保存したいです。 同じ文字列を繰り返すため、コピー&ペーストるのですが、普通、文字列や画像などひとつの情報しかコピーで記憶できないですよね? 携帯電話なんかだとコピーした文字列が幾つか保存されていてその中から選べるので便利なのですが・・ もしフリーウェアとか何らかの方法で幾つかの文字列を記憶してコピーできる方法があれば教えて下さい!

  • 【C言語教えて下さい!】文字検索

    引数として、複数の文字列を格納した配列、その文字列数、あるいは文字列aを与え、aが複数の文字列を格納した配列中に見つかれば1を返し、見つからなければ0を返す関数find_string()をつくりたいのですがよくわかりません。 どなたかご教授お願いします。 ヒントや考え方など教えて下さい。

  • 【C言語】文字列による処理の分岐について

    いつも丁寧な解説拝見しております。 C言語について質問させて頂きます。 シリアル通信によって受信した1バイトの文字列があるとします。 この文字列のパターンよって処理の分岐をさせたい場合、コードはどのように書けば良いのでしょうか。 より具体的に申しますと、 →文字列パターン1の場合、関数1を呼び出す。 →文字列パターン2の場合、関数2を呼び出す。 →文字列パターン3の場合、関数3を呼び出す。・・・・・・ と、100パターンほどの文字列があり、それぞれにおいて異なる関数を呼び出したいと考えております。私の理解は以下に示す通りなのですが、どうも正しい処理が分らないでいます。 ・受信した文字列がどのパターンなのかを判断するために、strcmp関数で比較を行う。 ・多分岐なので、switch case文かelse if文を用いる。 この場合、条件式の中でstrcmp関数による比較を行えば良いのでしょうか。簡単にコードを示して頂ければ幸いです。C言語初心者なので理解に間違いがあるかもしれませんが、どうぞよろしくお願い致します。

  • VB←→API(C)の文字列加工?

    VisualBasic6で、APIなどで返された文字列に\0が含まれていた場合、 VB内部で扱う文字列に変換させる方法やその逆のAPIに渡すとき C用の文字列に変換する関数や方法はあるのでしょうか?

  • 複数ファイルの文字列の検索と置換

    複数ファイルの中から文字列を検索し、置換して保存をしたいです。 どのようにしたらいいでしょうか。