- 1 名前:デフォルトの名無しさん [2008/01/11(金) 15:41:00 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 ふらっとC#,C♯,C#(初心者用) Part22 pc11.2ch.net/test/read.cgi/tech/1197802312/
- 528 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 05:13:40 ]
- if(dir.Attributes == FileAttributes.ReadOnly)
{ dir.Attributes = dir.Attributes & ~FileAttributes.ReadOnly; } dirはDirectoryInfoです これで読み取り属性なら読み取り属性を解除するということになっているでしょうか?
- 529 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 06:39:01 ]
- if ((dir.Attributes & FileAttributes.ReadOnly) != 0)
とでもしておかないと、読み取り専用以外の属性を併せ持つディレクトリを漏らす。
- 530 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 06:45:14 ]
- ディレクトリには必ずディレクトリ属性がついているから、>>528のやり方では絶対に条件が成り立たないな。
- 531 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 07:22:43 ]
- >>529
ありがとうございます 流石に単純すぎて自分のものはいぶかしんでいたんですが 読み取り専用なだけ、という場合しか考慮されていなかったんですね、助かりました >>530 DirectoryAttributes的なものでもあるんでしょうか? 一応こちらの環境では(読み取り専用にチェック入れただけのディレクトリに対しては)できましたが
- 532 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 07:25:26 ]
- あれ>>529がいけそうになさそうな・・
- 533 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 07:35:47 ]
- 状況によって消えたり消えなかったり、読み取り属性だけころっとかわったりorz
もうちょっと試行錯誤してきます、すみません
- 534 名前:508 mailto:sage [2008/01/26(土) 07:50:21 ]
- >>508
やっぱりどちらも無理なんでしょうか?
- 535 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 07:57:37 ]
- >>534
どっちも必要ないから無理じゃない?
- 536 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 09:32:29 ]
- >>534
メソッドの戻り値はreturnの部分にブレークポイント仕掛ければ分かるよ
- 537 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 11:43:12 ]
- >>518,519,520 さんありがとうございました。
>>518 @使ったヒアドキュメントもどき私も使っています。 >>520 コンパイル時に解決してくれんですね。安心して+で連結できます。
- 538 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:22:07 ]
- form1、form2、form3があり、
form1からボタンのイベントでダイアログ形式でform2を開き、そこに値(TextBox)を入力します そのあと、okでform1に戻り、今度は別のボタンのイベントでform3を開き、そこでSaveFileDialogを開きます このときSaveFileDialogのFileName先ほどのTextBoxの値を入れたいのですがどうしたらよいでしょう?
- 539 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:28:42 ]
- form2にそのテキストボックスの値を取得するプロパティを定義する
form2を表示して,okで戻った後にform1のコードからそのプロパティを通して値を取得して form1のフィールドに入れとく form3を開く前にプロパティとかコンストラクタとかでその値をform3に渡す
- 540 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:29:50 ]
- SaveFileDialogのヘルプ見れば一発でわかりそうなもんだが
一体なにがわからんの? もしかしてform1からform3にファイル名を渡す方法? そんなもん、form3を開く時にファイル名を渡すなりなんなり、自分で考えろ。
- 541 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:32:21 ]
- >>539
すみません 実際のコードで簡単に書いていただけないでしょうか?
- 542 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:40:58 ]
- >>540
お前初心者スレからでてったほうがいいと思うぞ
- 543 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:41:36 ]
- >>541
基礎からやり直せ そのレスで確信したが全くわかってないだろ
- 544 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:43:43 ]
- >>540
具体的に言えばそうです ただそのform3のsavefiledialogのFileNameプロパティに名前を設定するとき、 sfd.Filename = の後にどうやったらform2のテキストボックスの値を参照できるのかがしりたいです
- 545 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:44:07 ]
- class Form2 {
public string テキストボックスの値 { get { return this.textBox1.Text; } } } class Form3 { private string fileName; public string ファイル名 { get { return fileName; } set { this.fileName = value; } } void SaveFileDialogを開くイベント() { //(略) saveFileDialog.FileName = fileName; } } class Form1 { private string fileName; void Form2を開くイベント() { using (Form2 form2 = new Form2()) { if (form2.ShowDialog() == DialogResult.OK) this.fileName = form2.テキストボックスの値; } } void Form3を開くイベント(){ Form3 form3 = new Form3(); form3.ファイル名 = this.fileName; //form3を表示 }
- 546 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:44:30 ]
- >>544
クラスの基礎だけでいいからどっかの解説ページを読むんだ ここで一時凌ぎすべきじゃない項目だぞ
- 547 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:09:30 ]
- >>545
型 'System.Windows.Forms.TextBox' を型 'string' に暗黙的に変換できません AD_Adjust.textBox1' はアクセスできない保護レベルになっています。 ってエラーが出てしまいました
- 548 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:17:41 ]
- >>547
>>546 やる気あんのか屑
- 549 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:20:15 ]
- >>542
ロクにマニュアルも見ず、自分で試してみることもしないのは 初心者以前。 >>544 だから、 form2のテキストボックスの値を参照できるように、プロパティなり メソッドの引数なりで自分で参照できるように作るんだよ。
- 550 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:21:24 ]
- ↑ごめんなさい、解決です
- 551 名前:719 mailto:sage [2008/01/26(土) 14:29:25 ]
- >>719です。
もう一度起動してWINXPを起動したのですが今度は正常に読み込みました。 が・・・ 起動しても何か処理が重い・・・(普段なら10秒もすれば起動して処理が終わるのに・・・) それで色々作業中にまたまた急に電源が切れました。。 そう、719を書き込んだときとまったく同じ症状で で、「これはウィルスだな。」と思い、そうと決まれば駆除しかない! そう思って俺の計算では成功する予定でした。(←馬鹿 しかしその結果、ウィルスチェッカー中に電源が落ちてしまいます。 (ちなみにしばらく時間を置いてから起動すれば立ち上がるみたいなんです。) で3回程度試したんですが・・・必ずチェック数が1万を越える前に電源が落ちます。 ウィルスチェックしていない間は落ちることがないのでまず電源アダプタとかでは無いはずなんですが・・・ ニコニコにウィルスでも混入したのかな・・・?(←先にチェックして来い というわけでちょっとニコニコに何か手がかりみたいなの無いか見てきます。
- 552 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:09:08 ]
- (´・ω・`)知らんがな
- 553 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:48:10 ]
- >>719の頭ん中にもウィスル湧いてんじゃねw
- 554 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:20:38 ]
- Point[] p = new Point[4];
p[0] = new Point(0, 0); p[1] = new Point(1, 1); p[2] = new Point(2, 2); p[3] = new Point(3, 3); クラスの配列をnewするとき↑みたいに 1個ずつnewするのがめんどいんですが スマートにやる方法教えてください
- 555 名前:デフォルトの名無しさん [2008/01/26(土) 19:25:58 ]
- Point[] p = new Point[4];
for(int i = 0; i < 4; i++){ p[i] = new Point(i, i); }
- 556 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:26:31 ]
- Point は構造体だから配列つくっちゃったら
要素ごとに new する必要なんてない なので new は最初の1個だけでよい
- 557 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:28:33 ]
- Point[] p = { new Point(0, 0), new Point(1, 1), new Point(2, 2), new Point(3, 3) };
- 558 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:31:07 ]
- C#でさぁWindowsのAPIを利用するのは.netのコンセプトに反してるよね?
- 559 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:32:24 ]
- それがいやなら .net 側で API 用意してくれ!
- 560 名前:554 mailto:sage [2008/01/26(土) 19:33:30 ]
- >>555 (;´Д`)却下
>>556 (゚д゚)ハァ? >>557 (´∀` )採用!!
- 561 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:34:50 ]
- 構造体の概念を全く理解してないでよくPointクラスを使用できるね。
掛け算の概念を知らないで九九をひたすら暗記している家の息子みたいなもんだ。
- 562 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:36:01 ]
- for を却下して new を羅列してる方を採用って・・・
何がやりたいのか分からない。
- 563 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:37:38 ]
- >>560
Point[] p = Enumerable.Range(0, 4).Select(i => new Point(i, i)).ToArray();
- 564 名前:デフォルトの名無しさん [2008/01/26(土) 19:38:05 ]
- >>561
- 565 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:33:37 ]
- 今までC/C++やってたんですが
最近C#やることになって勉強中です。 ものすごく親切な仕様という印象です。
- 566 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:51:14 ]
- 文字列のn番目の文字だけを別の文字に変えたいときはどうしたら良いでしょうか?
- 567 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:56:55 ]
- 文字列.replace(a,b);
a→b
- 568 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:58:55 ]
- >>554
Point[] p = new Dictionary<int, int> { { 0, 0 }, { 1, 1 }, { 2, 2 }, { 3, 3 } }.Select(xy=>new Point(xy.Key, xy.Value)).ToArray();
- 569 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:15:55 ]
- 一旦ToCharArray()で文字配列にしていじった後にnewし直す。とか
- 570 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:32:19 ]
- >>566
StringBuilderならインデクサ経由で変更できるよ。
- 571 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:33:07 ]
- >>565
親切っていうよりガチガチに制限かけまくってるだけ
- 572 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:51:04 ]
- 画像処理のラスター処理関連の質問です。
画面上に何か図形を2つ書いて(例えば10角形2つ)を書いて その図形の重なった部分の面積を求めるっていうとき どうやればできますか?
- 573 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:54:17 ]
- 三角形9つにずつ分解して、重なり部分81箇所の面積の和をとる。
幾何学の問題。
- 574 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:54:58 ]
- 9じゃねえわ。8x8=64
- 575 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:57:56 ]
- 重なり部分をどう求めるの?
- 576 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:06:03 ]
- >>572
紙と鉛筆で「ry)っていうときの」アルゴリズム書ける人か書けない人かで分岐。 書ける人ならとりあえずアルゴリズム書いて晒してみると親切な人がC#での書き方のヒントくれるかも。 書けない人は……ライブラリ探すところから始める? ちなみに.NET標準にはないよ。 まあ標準ではなくてもGeometryクラスを流用すればできるかもしれんが。 ttp://d.hatena.ne.jp/hogeman/20071202
- 577 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:12:22 ]
- >>572みたいな問題って意外と難しいんじゃないの?
いつでも代数的に解ける図形が与えられるとは限らないし。 だからモンテカルロ法みたいなのがあるわけじゃないの? つーか、>>572は図形がどういうデータ構造で与えられるかをまず提示しなきゃ 話にならないね。
- 578 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:18:36 ]
- >>576も言ってるけどWPF使えば超簡単にできるよ
- 579 名前:578 mailto:sage [2008/01/26(土) 22:19:29 ]
- >>576が言ってるのは違うGeometryだったな
- 580 名前:572 mailto:sage [2008/01/26(土) 22:24:03 ]
- 図形の形状は不定です。
C言語上でやったときは メモリデバイスコンテキスト上に図形を描画して それぞれ配列に格納して論理演算で求めてました ↓みたいなかんじ ■■■■■■ ■□□□□■ ■□□□□■ ■■■■■■ ■■■■■■ ■■■■■■ ■■■■■■ ■■■□□■ ■■■□□■ ■■■□□■ ■■■□□■ ■■■■■■ 重なり部分 ■■■■■■ ■■■□□■ ■■■□□■ ■■■■■■ ■■■■■■ ■■■■■■ C#だとメモリデバイスコンテキストに相当するものが あるのかよくわからないので聞いてみました WPFというのでできるんですか 調べてみます
- 581 名前:576 mailto:sage [2008/01/26(土) 22:25:14 ]
- >>578
WPFのGeometry.GetAreaでいけそだね。 だとしたら「標準にはない」は嘘になる。サンクス
- 582 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:43:15 ]
- >>580
メモリデバイスコンテキストに相当するものならSystem.Drawing以下にあるかな。 GraphicsPathからRegion作って残りとIntersectして共通領域のRegionを作る。 できたRegionをGraphics.Clipにセットして適当に塗りつぶして塗りつぶし色でピクセル数え上げか。 それでいいならできなくはないと思う。 WPFはSystem.Drawing以下のとは別の描画ライブラリ。
- 583 名前:572 mailto:sage [2008/01/26(土) 22:50:39 ]
- >>582
dobon.net/vb/dotnet/graphics/fillregion.html ↑のHPのやり方ですか? キーワードでググってみたら出てきました。 とりあえずこのやり方でやってみます。 ありがとうございました。
- 584 名前:566 mailto:sage [2008/01/26(土) 23:35:17 ]
- >>570
ありがとう
- 585 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 23:37:28 ]
- フォントの名前からフォントファイルの名前を取得する方法ってありますか?
"MS ゴシック"->"MSGOTHIC.TTC" みたいな感じで。
- 586 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 23:51:31 ]
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
- 587 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:41:37 ]
- 以下のような任意の2つのRectがあって、
□□□□□□□□□ □□□□□□□□□ Rect1 □□□□□□□□□ □□□□ □□□□ Rect2 □□□□ これを次のようにマージするには、空白部分をどうやって補完すればいいんでしょ。 □□□□□□□□□ □□□□□□□□□ □□□□□□□□□ Region1(=Rect1+Rect2+補完部分) □□□ □□□□ □□□□ □□□□
- 588 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:45:08 ]
- まず間違いなく必要なのは
「次のように」 の部分を厳密に定義することじゃないだろうか。
- 589 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:46:26 ]
- 書き込んでから閃いた。
Rect1のBottomをRect2のTopの位置まで下げ、新しいRect1とする。 Rect2のTopをRect1のBottomまで上げ、新しいRect2とする。 次に、新しいRect1とRect2の重なりを>>583のHPのやり方で求めると、 これが補完部分になる。 より簡単で、いろんな場合に使える方法がありましたら教えてください。
- 590 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:56:32 ]
- 矩形同士の重なりなんてRectangle.Intersectでいいだろ
- 591 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 03:09:06 ]
- menustripをウインドウの上に固定するにはどうしたらいい?
今は大きい画像を読み込んで↓の方にスクロールさせると menustripが消えてしまう
- 592 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 03:11:36 ]
- >>591
画像を表示するパネルに一緒にMenuStripを乗っける馬鹿がいるか。
- 593 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 04:40:33 ]
- 画像処理する時処理を少しでも軽くするため
ポインタ使おうかと思うんですが C#の流儀に反する?
- 594 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 09:04:16 ]
- 反しない。普通にunsafeで使え。
- 595 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 09:06:05 ]
- >>593
不安ならPaint .NETのソースをunsafeでgrepしてみたら?
- 596 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 09:13:08 ]
- C#のエントリポイント、なにを書くところかさっぱりわからない
- 597 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 09:30:56 ]
- プログラムを開始してやりたいことを書けばいい。
イベントドリブンなプログラムなら、ハンドラを登録しまくれ。
- 598 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 09:36:39 ]
- とりあえず自動生成されたのを眺めていたけどクラス(デフォだとForm1)を呼び出して起動、みたいになってる様子
その呼び出されたクラス内のコンストラクタでハンドラだとかコモンコントロール?だとかを登録してる
- 599 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 09:42:15 ]
- enum型のToString()って独自定義出来ないものだろうか。
ComboBox.Itemsにするのに出し入れで変換するのが面倒くさいから日本語で要素を定義してみた。 IntelliSenseは特に問題ないけど違和感ありまくり
- 600 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:57:49 ]
- >>599
enumみたいな構造体を自分で定義すればいいのでは?
- 601 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 13:28:42 ]
- struct EnumWrapper<T> where T : struct {
private T value; public T Value { get { return value; } } public EnumWrapper(T value) { this.value = value; } public static explicit operator T(EnumWrapper<T> value) { return value.Value; } public static explicit operator EnumWrapper<T>(T value) { return new EnumWrapper<T>(value); } public override string ToString(){ ToStringAttribute[] attr = (ToStringAttribute[])typeof(T) .GetField(Value.ToString()).GetCustomAttributes(typeof(ToStringAttribute), false); return (attr.Length != 0) ? return attr[0].String : Value.ToString();}} [AttributeUsage(AttributeTargets.Field)]class ToStringAttribute : Attribute { public string String { get; private set; } public ToStringAttribute(string str) { this.String = str; }} enum MyEnum { [ToString("いちばん")]One, [ToString("二番")]Two, } こんな風にするとか
- 602 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 14:07:34 ]
- enum の要素に属性ってつけられたっけ
- 603 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 14:14:32 ]
- フィールド扱いだからAttributeTargets.Fieldで可
- 604 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 14:44:51 ]
- >>601
ぼやきのつもりで書いたのに、あっさりこんなコードが出てきて驚きました。 中程のreturnの行の真ん中のreturnだけ削除したと思います。 使い方にちょっと悩んだけど 初期設定で ComboBox.Items.Add((EnumWrapper<MyEnum>)MyEnum.One); 使うときには (MyEnum)(EnumWrapper<MyEnum>)ComboBox.SelectedItem ですね。 ありがとうございました。 なんかC#ってなんでもできそうな気がしてきた。
- 605 名前:デフォルトの名無しさん [2008/01/27(日) 17:21:47 ]
- 質問なんですが
struct Foo{...}という構造体があって Foo foo = new Foo(10, 20, 30); とやる場合と foo.a = 10; foo.b = 20; foo.c = 30; では後者のほうが高速なのですか? 構造体のコピーが発生する時ってnewとかreturnとか、あと何がありますか?
- 606 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 17:23:29 ]
- しるか。
- 607 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 17:38:34 ]
- >>605
構造体のnewでコピーは発生してない。
- 608 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 17:55:59 ]
- 後者の方が最適化されやすい場合があるみたいだけど基本的にはほとんど変わらないみたい
Foo foo = new Foo { a=10, b=20, c=30 };はだいぶ遅い
- 609 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:03:13 ]
- C#わかんねーな。
>560は只の基地外だと思ってスルーしてたけど、 もしかして最適化狙いかと、勘ぐってしまう。
- 610 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:14:35 ]
- >>606>>607>>608
ありがとうございました
- 611 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:16:01 ]
- >>556は単に図形の頂点か何かを直接書きたかっただけだろ
たまたま規則性のある例を挙げたから誤解されただけで
- 612 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:18:20 ]
- >>608
確かにC#3.0のその構文のときはコピーが発生してるね。 妙なコードを吐いてる。構造体のときは要注意か。
- 613 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:58:07 ]
- Foo temp = new Foo();
temp.a = 10; temp.b = 20; temp.c = 30; Foo foo = temp; になるんだっけ。
- 614 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:03:26 ]
- >>613
それがなぜかスタック3つも使ってる。 Foo temp1 = new Foo(); Foo temp2 = temp1; temp2.a = 10; temp2.b = 20; temp2.c = 30; Foo foo = temp2; クラスだと2つなのだが。
- 615 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:05:12 ]
- それって何が嬉しいんだろう。
クラスの場合も良く分かんないんだけど。
- 616 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:12:46 ]
- >611
ありがとう。質問するときの参考になった。
- 617 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:17:31 ]
- 800*600の画像があったとします。
逆透視変換のためにその画像を上辺900、下辺800、高さ1000の等脚台形に変換したいのですが、 .NETのクラスを使って簡単な方法があれば教えていただきたいです。 OpenCVのアフィン変換とかになるんですかねやっぱり。
- 618 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:34:15 ]
- >>614
初期化をatomicにするためじゃないかな。 ttp://d.hatena.ne.jp/siokoshou/20071123#p1 ttp://community.bartdesmet.net/blogs/bart/archive/2007/11/22/c-3-0-object-initializers-revisited.aspx
- 619 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:45:36 ]
- atomicってなにwww
下の方読んで何となくわかったけど。
- 620 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 20:37:41 ]
- 同期のためか。
もう>>608みたいな書き方するときはパフォーマンスなんて気にするな、 ってことかな。
- 621 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:05:59 ]
- >>617
うまく計算してWPFの3D機能でやるとか ピクセルロックして頑張るとか
- 622 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:46:20 ]
- 初歩の初歩だとは思うのですが
ラベルやテキストボックスの文字列をセンターでそろえるというのはどうすればいいのでしょうか? ググってもなにやらコードを書く必要があるような記述ばかりなんですが、プログラムから制御を 行わないとできないのでしょうか?
- 623 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:53:38 ]
- VS使えばいいと思うよ
- 624 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:41:41 ]
- へたな本読みながら一つずつ機能を知っていくより
Visual C# Express Editionと、それと一緒に入ってくるMSDNドキュメント 見ながら遊んでる方がずっとコントロール廻りは理解できるよ
- 625 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:49:40 ]
- VS6.0からVS2008に移った俺はMSDNの進化に感動した
- 626 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 02:20:44 ]
- >>622
フォームデザイナ上で、 複数コントロールを選択した状態で ツールバー>書式>整列 最初に選択したコントロールを基準に整列してくれる。
- 627 名前:デフォルトの名無しさん [2008/01/28(月) 17:57:40 ]
- 2001のMSDNはウンコだったが2005あたりからようやくマシになった
- 628 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 23:06:23 ]
- >>627
通信回線が発達してオンラインがまともに使えるようになってから かなり使えるようになったと感じる
|

|