- 1 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:35:10 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ C#, C♯, C#相談室 Part55 (実質56) pc12.2ch.net/test/read.cgi/tech/1260111240/ Visual C# 2008 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>1-5くらい
- 577 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:34:27 ]
- あるクラスを継承してメンバ関数だけオーバーライドして使いたい場合
元のクラスで扱っても大丈夫でしたっけ?
- 578 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:36:13 ]
- >元のクラスで扱っても大丈夫でしたっけ?
インスタンスを作った後も元のクラスで扱っても大丈夫でしたっけ?
- 579 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:38:51 ]
- 元のクラスで扱うってのはどういうことなんだ?
継承元のクラスにキャストするとかそういうこと?
- 580 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:41:53 ]
- >>579
ゲームの中にでてくる物体(障害物、自機、敵など)はすべて座標系など特定の 情報を持つという部分では共通ですが、動きだけが違うので管理上は継承前の クラスで管理して、動きに関連するメンバ関数だけを差し替えを実現したい・・ という感じです
- 581 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:46:35 ]
- オーバーライドしなくてもいいんじゃないか?
継承先で個別に実装すれば 100%書き換えることが前提になってる感じだからむしろIFとかにしてみるとか・・・ いや・・・いろいろ方法はあると思うが 継承元で関数書いてもどうせ空の実装とかにしかならんだろうし オーバーライドしなけりゃ元の動作のまんまになってしまうのはバグの元だと思うんだ・・・
- 582 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:47:23 ]
- >>580
普通にできるが
- 583 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:49:39 ]
- >>581
むかーしgcc上で書いた物を移植中なので.netなりの方法はないかなあと模索してたりします。 C時代は関数ポインタのテーブルを用意して・・・とかやってたんですけどね >>582 どんな感じでやればいいですかね?
- 584 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:54:08 ]
- >>583
いやだから基本クラスで動き意外の関数作って 継承したクラスで新しく動きの関数作ればいいだけだけど 何が問題なの?
- 585 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:58:17 ]
- class 物体
{ public void 動き以外の処理(){} } class 自機:物体 { public void 動きの処理(){} }
- 586 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:58:27 ]
- >>584
Hogeクラスを継承したHogeA,HogeB・・・・・HogeZとかあったとして 管理はList<Hoge>として全体をまとめたいんです・・
- 587 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 12:58:42 ]
- 抽象クラス使えば?
- 588 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 13:03:24 ]
- >>586
>>573
- 589 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 13:13:10 ]
- 関数ポインタ使っていたなら、そのまま構造体を抽象クラスにして、関数ポインタを仮想関数にしたら、完成のように思うが。
- 590 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 14:47:22 ]
- >>577
やってみたらいいのに何でわざわざ面倒な手順を踏んでるんだ?
- 591 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 15:27:18 ]
- まあvirtualでググればいいんじゃないかな!かな!
>>577
- 592 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 18:20:03 ]
- 模索している割には他の提案を聞き入れようとしない件について
もし判ってないならそれは技術力不足以外の何物でもないな
- 593 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 18:47:36 ]
- >>592
聞き入れないわけではなく聞いた上で調べた結果実装を考えた際に こういう時どうしようとか悩んでるわけなんですよ たとえばクラスを継承してインスタンスを作る際は確かに一つの メンバ関数をオーバーライドですれば済みますが状態がわかった際に インスタンス化されてしまってるクラスのメンバ関数を状態遷移に応じて さらにオーバーライドできるかとか できないなら、昔書いたように関数ポインタもどきを実装するしかないのだろうかとか でもクラスに関数ポインタぽいことを実装すると関数ポインタのテーブルを もったインスタンスがいっぱいできる?・・・とか
- 594 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 18:48:18 ]
- >状態がわかった際に
この記述は無しで
- 595 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 18:57:23 ]
- >>593
デリゲート
- 596 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 19:00:03 ]
- 頭の中が混乱してるみたいですね。
デザインパターンのテンプレートメソッドとストラテジーあたりを勉強するといいかも。 理解できないならIF文で押し切れw
- 597 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:05:06 ]
- 以下のようなメソッドを用意して、データをネットワーク越しに通信するプログラムを書いています。
private byte[] CompressBytes(object rawData) { using (MemoryStream stream = new MemoryStream()) { using (DeflateStream compressedStream = new DeflateStream(stream, CompressionMode.Compress, true)) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(compressedStream, rawData); } return stream.ToArray(); } }
- 598 名前:597 mailto:sage [2010/04/28(水) 20:06:16 ]
- private object DecompressBytes(byte[] compressedData)
{ using (MemoryStream stream = new MemoryStream(compressedData)) { using (DeflateStream decompressedStream = new DeflateStream(stream, CompressionMode.Decompress)) { BinaryFormatter formatter = new BinaryFormatter(); return formatter.Deserialize(decompressedStream); } } } 単一のプログラムでテストする場合は問題なく動作するのですが、 クライアント・サーバのプログラムにそれぞれメソッドを組み込んで通信をしていると、 return formatter.Deserialize(decompressedStream); の部分で、「デコード中に無効なデータが見つかりました。」というエラーが出ます。 具体的にはNetwork Streamに対してbyte配列を書き込み、 相手側で読み出すという作業をしているだけなのですが、ローカルとネットワークの場合で挙動が変わるのかよくわかりません。 # ネットワーク越しといっても、サーバプログラムで127.0.0.1に対してポートを開いて、クライアントプログラムで127.0.01にアクセスしているので、マシンスペックに違いは無いはずなのですが… もし何か注意することがあれば教えていただけないでしょうか?
- 599 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:10:35 ]
- www.sherwooddungeon.com/SherwoodDungeon.htm
こんな3Dネトゲが4M程度で実現できてるんだけど C#でやるにはwebdeveloperとかsilverlightが必要?
- 600 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:14:07 ]
- 俺的に3Dゲームはudkやsource modを使うのが一番現実的だと結論付けた
- 601 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:22:13 ]
- >>599
inしてみたが週末Flashスレで貼られる戦車のゲームとエリア規模は似てるな まあ4MBってのも圧縮した状態だと小さくなるしなあ
- 602 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:26:47 ]
- 気軽に対戦ゲーム作りたくてもサーバーが難しいよね
- 603 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:32:16 ]
- ↓ここで簡単厨のターン
- 604 名前:デフォルトの名無しさん [2010/04/28(水) 21:17:01 ]
- まぁ俺にかかったら1日で何でもできるけどね
- 605 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:22:27 ]
- >>598
そのエラーが出てるとこのデータの中身はどうなってるんだ? ちゃんと送りつけた時と一緒になってるか? まずはそこからだ
- 606 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:30:49 ]
- >>602
ほとんどのレンタルサーバーはゲーム禁止だからな ATPAGESではOKだが、負荷をかけすぎるとアカウント自体止められる
- 607 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:34:13 ]
- >>583
abstract class foo { foo(){} abstract bar(){} } class xxx : foo { override bar(){} } とやって、xxxのインスタンスをList<foo>にでも突っ込めばいける
- 608 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:36:24 ]
- あと、遷移ごとにfooを継承したクラスを作って突っ込めばいい
詳しくResponserパターンでくぐってみろ
- 609 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 22:45:58 ]
- デザインパターンなんてみんな覚えてるの?
- 610 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:24:35 ]
- >>609
そりゃデザパタから入った人は「覚える」って意識になるんだろな。
- 611 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:46:55 ]
- 趣味で一人でプログラミングするなら、無理にオブジェクト指向を意識する必要はないけどな。
下手にクラス設計に凝るくらいなら、ひたすらstaticでプログラム組んだ方がましだと思う。 どうせ誰かにソースを見せたり、過去の資産を利用したり、誰かから仕様変更を言い渡されたりはしないんだろ。
- 612 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:48:17 ]
- >>611
妄想で語るな
- 613 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:51:44 ]
- いや、正しい
- 614 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:55:35 ]
- いや、過程に過ぎない
つまり妄想
- 615 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:58:52 ]
- 構造体の配列で回して、キャラのタイプIDでswitchしまくりで別に問題ない
- 616 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:10:33 ]
- 趣味なら作ってて楽しければいいし、どんなソースでも動けばいいんだよ。
- 617 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:12:40 ]
- 正解
- 618 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:39:40 ]
- うん。
でもね、べつにクラス設計とかって伊達で導入されてるわけじゃないんだけどな。 規模が大きくならないとあんまり意味がないってことなら同意だけど。
- 619 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 01:19:21 ]
- >>616
動いたけどsbyteで済むようなただのフラグ用の変数すらintで書いていて起動しただけで10MB超のメモリを食ったのは恥ずかしい経験w やっていくうちに分かるってのはあるが、どんなソースでもとかいう気持ちだといつまで経っても向上しないような気はする。
- 620 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 01:38:49 ]
- まあ目的と手段を間違えないことだな
- 621 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 01:41:56 ]
- ゲームの場合オブジェクト指向が有効そうにみえるんだが
案外そうでもなかったりするんだよな・・・ もうちょっといい方法があればいいんだが
- 622 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 01:56:24 ]
- >>598
受信途中のデータの後ろが欠けてるんじゃない? MemoryStreamじゃなくて、直接NetworkStream渡せば?
- 623 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 13:22:01 ]
- >>620
それはあるねー。 もっとも趣味プログラマの場合、楽しく正しく書くってのも目的に入ってる人は多いんじゃね?
- 624 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:04:41 ]
- WPFやっててバインディングがものすごくよかったんだけど
WinFormでも同じようなことできましたっけ?
- 625 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:12:13 ]
- バインディングの仕組み自体は似たようなもんだけどUIが貧弱なんだよ
コレクションへのDataTemplateを使ったバインディングのようなことをやろうとすると大量のコードが必要になる
- 626 名前:624 mailto:sage [2010/04/29(木) 15:19:16 ]
- >>625
そうなんですか・・・ 残念
- 627 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:23:23 ]
- >>623
プログラムのプロをプロフェッショナルとかけたダジャレで 昭和生まれは素人プログラマのことをアマグラマって言うんだぜ
- 628 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:24:38 ]
- >>625
WPFだとTreeNode.TagにList<>なんかが入ってても 簡単に取得できるの?
- 629 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:26:28 ]
- WPFではTreeNodeみたいなのは直接扱わないんだよ
元々ツリー上になってるオブジェクトグラフからバインディングだけでノードを生成する
- 630 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:28:44 ]
- >>628
WPFのサンプルみた感じだとTreeNodeじゃなくてツリーを形成するための クラスを自分で作ってTreeViewにぶっこめば勝手に表示してくれてたな
- 631 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:35:31 ]
- C#で作られたものをWPFに移植しようとしたら
また1から作り直し?
- 632 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:37:38 ]
- >>631
WinForm依存のデータ格納クラスはそうなるかも でも最初から依存をなるべく避けたコード書いてればそれほど問題にならない
- 633 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:37:39 ]
- ロジックからコントロールを直接触ったりするような馬鹿な造りにしていなければ修正はUIまわりだけ
- 634 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:38:01 ]
- >>630
ほー 今メニューの項目をそのままTreeViewに表示しようとしているんだけど 激しく面倒くさい
- 635 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:50:17 ]
- ツリービューの項目にボタンを付けてボタンの上にhoge.ImageUriプロパティの値をバインドしてアイコンを表示して
アイコンの右にhoge.Nameプロパティをバインドしてテキストを表示して 子プロパティとしてhoge.Childrenプロパティをバインドして再帰的に展開して… みたいなことがXAMLだけでできる
- 636 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:52:11 ]
- とにかくすごいわ
C++からC#でかなり楽になったけどさらにWPFで楽できそうな感じ
- 637 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:53:22 ]
- MSはWinFormよりWPFに力入れてるの?
おれもやってみようかな
- 638 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 15:55:40 ]
- WinFormsは完成放置状態
Silverlightに力入れててWPFはそれに合わせてる感じ
- 639 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 16:42:59 ]
- 2008expressはもうダウンロード出来ないのかよ
- 640 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 16:47:07 ]
- www.microsoft.com/downloads/details.aspx?FamilyID=94de806b-e1a1-4282-abc5-1f7347782553&displaylang=ja
これISOかな?
- 641 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 17:22:18 ]
- 銀光はApacheとかがMIMEタイプを標準で持つようにならないと普及しないと思う
窓鯖でもIIS7でないと標準で対応してないのがもうね これ、意外と高い壁だよ
- 642 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 17:26:31 ]
- >>641
おいおい .netにはおさるさんがあるじゃなか 銀光とセットで月光あるしLinux上で.net動くぞ 完全互換とは言いがたいが
- 643 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:05:26 ]
- WinFormで出来てWPFでできないことって何?
- 644 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:21:38 ]
- >>643
wndprocのフック コモンコントロールがないに等しいので自作しないといけない
- 645 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:27:08 ]
- お客さんに売り込み辛いんだよな、WPF・・・
- 646 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:29:15 ]
- 短期納品、コストさげろ
これって生産性あげろってことなのにWPFだめって言われるとねえ・・・
- 647 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:31:14 ]
- WPFって実際生産性高いのか
xamlが手間かかりそうなんだけど
- 648 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:32:18 ]
- 最近コンソールとかサーバーサイドばっかりで、UIのあるアプリ作ってないなぁ。
- 649 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:34:49 ]
- >>647
なれるまでが面倒かな XAMLその物はHTMLでwebページ作成するような感じなので 慣れが必要かなあ
- 650 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:00:35 ]
- >>641
MIMEタイプが問題になるのはSilverlightより、WPF/XBAPやClickOnceだな。
- 651 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:07:54 ]
- htmlはコード見ただけで拒絶反応
- 652 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:08:36 ]
- ルーズXAML
application/xaml+xml XBAP application/x-ms-xbap ClickOnce application/x-ms-application このくらいかな。IEは無くても処理してくれるが、firefoxの.NET Assistantアドオンを使う場合に必要。
- 653 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:12:43 ]
- .htaccessをいじらせてもらえなくても、perlは使えるところが多いので、
こんな感じで無理やり対応できる。 #!/usr/local/bin/perl # -- hoge.cgi -- print "Content-type: application/xaml+xml\r\n"; print "\r\n"; open(INF,"<hoge.xaml"); for (<INF>) { print $_ } close(INF);
- 654 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:24:42 ]
- >>644
>wndprocのフック blogs.msdn.com/nickkramer/archive/2006/03/18/554235.aspx >コモンコントロールがないに等しい WPF Toolkitが便利。DataGrid/DatePicker/Calendar/Visual State Manager(VSM)は.NET 4に取り込まれた。
- 655 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:51:18 ]
- とりあえず画像ビュアー的なのを作ろうと思うんだけど
皆さんだとWinFormとWPFだとどっちが速く作れます? サムネイル一覧表示 書庫から画像読み込み 各種フィルタ機能 画像の変換 を予定してます
- 656 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:10:13 ]
- >>654 >wndprocのフック
こりゃありがてえ!
- 657 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:13:39 ]
- >>642
いやそう言う話じゃなくて .xapのMIMEタイプを指定してやらんと貼っても認識しない >>653みたいなことも出来なくはないけど、それじゃあFlashの代わりとしては敷居が高すぎる
- 658 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:14:24 ]
- >>657
ああすまん httpヘッダのあれか・・
- 659 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:30:34 ]
- xapを直接クリックでも起動できたっけ?
普通はHTMLLからsilverlightControlHostやsilverlight.js経由で 読み込むからMIMEの登録は不要なはず。 video再生くらいならxapなしで書けたりする。 ttp://www7a.biglobe.ne.jp/~fbsoft/test/BinaryStar.html
- 660 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 20:34:14 ]
- あれ・・・yahoo移管後のGyaoってSLのプレーヤーだな・・・
どうやってるんだろ
- 661 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:04:42 ]
- >654
できるのか。知らんかった >WPF Toolkitが便利。DataGrid/DatePicker/Calendar/Visual State Manager(VSM)は.NET 4に取り込まれた。 コモンコントロールあるのか・・・ そのキットにはコモンダイアログもついてるのか? フォントダイアログを自作する作業はもう嫌だよ・・・ せめてそのくらいつけてくれ>MS
- 662 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:06:41 ]
- ファイルダイアログくらいは仕方ないとしても、
コモンダイアログは本質的にWPFの範囲外だから付けたくないんだろ
- 663 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:34:35 ]
- フォント選択ダイアログはこの辺参考に自分で作るか、WinFormsの利用するしかないかな。
ov-p.spaces.live.com/blog/cns!39D56F0C7A08D703!253.entry blogs.msdn.com/text/archive/2006/11/01/sample-font-chooser.aspx
- 664 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:36:51 ]
- >>661
WPFだとFont列挙してListboxにでも入れてしまえばいいような気がする
- 665 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:21:52 ]
- C#に限ったことではないのですが
ループする項目に対していろいろな条件によって continue;するプログラムを書いていると ついループが長くなりがちでなんとかしたいのですが コツのようなものはありますでしょうか すぐ思いつくのは ・ループ内からメソッドを呼ぶようにして 結果をboolで返すとか(処理結果を他で使いたい場合に問題) ・例外でループまで戻ってくる (処理コストの面と意味的な面で例外を使うのはどうか) と言った辺りですが思いつくことありましたらご意見を。
- 666 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:26:02 ]
- >ついループが長くなりがち
なったことないのでわからん どんな処理書いてるのか見せてもらえると一番なんだが・・・ コード晒す場合は>>4の※コードの量が多い場合・・・のところを使ってね
- 667 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:34:08 ]
- >>665
bool返すメソッドをデリゲートに設定すれば 一つのメソッドで複数のメソッドを呼び出すことができる 一つのif文で済む あとはその処理用にデータ構造を設けてコードが短く済むようにする
- 668 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 01:47:47 ]
- よく分からんが、ループ内をごっそり他の関数にするとか大きな処理にまとめるとか?
- 669 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 01:56:16 ]
- 多態使うとか
- 670 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:02:16 ]
- ↓な感じでPictureBoxのサイズ変更時にImageのサイズも
変更しようとしてるんですけどImageのサイズが変わりません。 この方法まずいでしょうか。 ※PictureBoxはフォーム全体にアンカーを貼っていてフォームサイズが変わると 連動するようになっています。 Private void pictureBox1_Resize(object sender, EventArgs e) { pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height); }
- 671 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:23:50 ]
- なにをしたいか知らんがpictureBoxはこんなことができる
ideone.com/Cs4gU
- 672 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:23:58 ]
- 変更したサイズのImageが実際に欲しいのか、
Pictureboxのサイズに合わせて表示も拡大したいのか良く分からんけど、 後者ならプロパティに設定するだけ。 SizeModeをZoomかStretchImageにすればいける。
- 673 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:31:27 ]
- それよりぶち抜きでcontinueとかbreakしたいのは俺だけか
一番内側から最外ループまで一気に戻りたい時とか面倒で仕方ない
- 674 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:33:28 ]
- そんなのはケースによるしな
どんなコードの状況になてて>>665なのかわからんし 当たり障りの無い回答しかできないのも事実
- 675 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 02:51:11 ]
- >>672
SizeMode設定で出来ました。 ありがとうございます。 別のGraphicsの画像をPictureBox.Imageに拡縮貼り付けしていて PictureBoxのサイズが変わったら貼り付ける座標も変わるだろうということで PictureBox.ImageのサイズをPictureBoxのサイズに変えたかったんですけど PictureBoxはPictureBox.ImageをStretchBltしてくれるみたいなイメージなんですね。 >>671 なんだか・・・いろいろやってくれるんですね.NETは 今までWin32APIでしかウインドウズプログラミングしたことなかったので 勉強になります・v・
- 676 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 17:10:33 ]
- 次は、縮小画像がガタガタなんですけど…という質問が来るにちがいない。
- 677 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 17:17:39 ]
- >>676
ファミコンの画像を縮小したら変に滑らかになって困ります。RGB接続した時のようなまま縮小したいです
|

|