トップページ⇒tech
1001コメント235KB

ふらっとVisual C#,C♯,C#(初心者用) Part103

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/03/06(水) 12:28:23.07
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part102
http://toro.2ch.net/test/read.cgi/tech/1360231775/

関連スレ
C#, C♯, C#相談室 Part78
http://toro.2ch.net/test/read.cgi/tech/1356268827/

コード貼るなら↓使ってください
http://ideone.com/
0357デフォルトの名無しさん2013/03/21(木) 16:13:27.33
ファイル名に使えない文字をうまいこと置き換えてくれるメソッドってどこにあったっけ
0358デフォルトの名無しさん2013/03/21(木) 16:15:03.04
「this.」を一旦すべて 「」に置き換えてから「hoge」→「this.hoge」→すべて置換で地道にやれ
0359デフォルトの名無しさん2013/03/21(木) 16:17:30.55
>>356
見分けやすいし置換えも楽じゃん
0360デフォルトの名無しさん2013/03/21(木) 16:22:35.49
一定のアルゴリズムで統一しないと勃起が納まらない人もいるんだよ
0361デフォルトの名無しさん2013/03/21(木) 16:29:17.60
>>357
直接的なのはないはず
Path.GetInvalidFileNameCharsで取れるchar[]を使ってString.Replaceするとか
ただこの辺のメソッドはファイルシステムを考慮しない文字群だがな
0362デフォルトの名無しさん2013/03/21(木) 16:39:13.38
>>361
そうなのか・・・ありがとう
0363デフォルトの名無しさん2013/03/21(木) 19:35:47.58
>>362
これにも注意
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9
0364デフォルトの名無しさん2013/03/21(木) 20:00:47.74
なにそれ
0365デフォルトの名無しさん2013/03/21(木) 20:49:14.76
使えないファイル名
0366デフォルトの名無しさん2013/03/21(木) 21:25:19.55
懐かしのconconクラッシャー
0367デフォルトの名無しさん2013/03/21(木) 21:28:31.99
メソッド(笑)
0368デフォルトの名無しさん2013/03/21(木) 21:35:27.45
ぶっちゃけ言語を変えたって開発効率は変わらないのよね
馬鹿は馬鹿のまま、コードがろくに書けないw
0369デフォルトの名無しさん2013/03/21(木) 21:57:20.94
0 * c = 0
0370デフォルトの名無しさん2013/03/21(木) 22:08:24.04
きもすぎww
0371デフォルトの名無しさん2013/03/21(木) 23:24:32.82
免許証の写真でも改めて見たのか?
0372デフォルトの名無しさん2013/03/21(木) 23:50:49.81
なんというつまらなさ
0373デフォルトの名無しさん2013/03/22(金) 12:19:59.82
WinFormsでもWPFでもいいので見た目がmac風なUIライブラリありませんか?
こんな感じのリストボックスやツリーにしたいのです
http://www.qnap.com/images/products/Application/iTunes/itunes-server-02.jpg
0374デフォルトの名無しさん2013/03/22(金) 12:24:30.81
WPFかQt(C++併用)
0375デフォルトの名無しさん2013/03/22(金) 13:18:51.50
マカーはアホだな。mac使えばいいだけじゃん。
0376デフォルトの名無しさん2013/03/22(金) 13:54:28.00
【速報】 SCE、PS4のゲーム開発環境はC# (Mono) だと発表、Unity + PlayStation Mobileのコラボ
http://engawa.2ch.net/test/read.cgi/poverty/1363927845/
0377デフォルトの名無しさん2013/03/22(金) 14:23:35.09
OwnerDrawするなり一から書くなり好きに作れば良いじゃん
既存のコントロールを使わなくちゃいけないなんて規則はないぞ
0378デフォルトの名無しさん2013/03/22(金) 14:34:58.18
素直にWPF使うのが軽くて早い
下手にWinFormsのコントロールに手を加えるとちらつきや挙動の制御に振り回される
糞重くなるしな
0379デフォルトの名無しさん2013/03/22(金) 14:37:55.93
でもWPFってWindows限定じゃん?
0380デフォルトの名無しさん2013/03/22(金) 14:50:09.44
PSMの延長か
0381デフォルトの名無しさん2013/03/22(金) 17:40:20.86
WPFが軽いってのは嘘だけどな。
0382デフォルトの名無しさん2013/03/22(金) 18:09:39.30
WPFは8ビット越えのDeep Colorを扱える?
もWinForms+DirectXで作ってあるのを移植したいがそこがググっても出てこなくて踏み切れないでいる。
0383デフォルトの名無しさん2013/03/22(金) 18:19:14.75
踏み切ってグモるだけ
0384デフォルトの名無しさん2013/03/22(金) 19:25:03.26
WPFで48bppのBitmapを扱うネタは出てくるんだがそれをそのまま表示するネタが見つけられない。
0385デフォルトの名無しさん2013/03/22(金) 19:52:18.44
そのままってのがどういう意味なのかにもよるが
取りあえずRgb48のBitmapSourceをImage.Sourceに指定して表示はできる
0386デフォルトの名無しさん2013/03/22(金) 19:57:00.29
http://int64.org/2009/03/01/using-hsl-colors-in-wpf/
Windows7以降でDeepColor対応のHDMI/DisplayPort接続の液晶なら↑でいけるんじゃね?
最近の大画面テレビはBD用にDeepColor対応してるのが多いしテレビに繋げて試してみたら?
0387デフォルトの名無しさん2013/03/22(金) 19:58:05.40
はよ
0388デフォルトの名無しさん2013/03/22(金) 20:02:34.65
質問した奴はハードのことまで
0389デフォルトの名無しさん2013/03/22(金) 20:52:15.15
WPFはDirectXだから速いで
0390デフォルトの名無しさん2013/03/22(金) 20:56:18.80
レイアウトエンジンとバインディングの遅さで台無し
0391デフォルトの名無しさん2013/03/22(金) 20:57:44.66
DeepColorなんて初めて聞いたが、
本当に人間は1677万色以上を区別できんの?
0392デフォルトの名無しさん2013/03/22(金) 21:00:19.63
>>391
え?君出来ないの?
うちの職員は新人研修で叩き込まれるが
0393デフォルトの名無しさん2013/03/22(金) 21:07:36.71
写真をぱっとみせられて何色使ってるかは分からんだろうなw
0394デフォルトの名無しさん2013/03/22(金) 21:11:20.16
このスレの程度なら、レス乞食かどうか見分ける技能を磨いた方がいい
0395デフォルトの名無しさん2013/03/22(金) 21:21:05.79
>>392
フルカラーは画家でも判断できないって昔のパソコン雑誌に書いてたけど。
0396デフォルトの名無しさん2013/03/22(金) 22:02:38.39
グラデーションの付いた画像の明度をいじったりすると24bitでは分解能が
まったく足りないね。なにせRGBが各8bitの階調しかないんだから。

あと、CTやMRIなんかの画像だと24bitでは病巣の造る微妙な影が潰れてしまって
話にならないらしい。
0397デフォルトの名無しさん2013/03/22(金) 22:08:48.49
今まで気にもしなかったけど
今後DPIの問題は必ず出るからWPFの方が無難に思える
0398デフォルトの名無しさん2013/03/22(金) 22:10:49.05
WinFormsなんてWPFが理解できない無能のための過去の遺物
0399デフォルトの名無しさん2013/03/22(金) 22:12:34.74
無能は再生産されてるから決して過去にはならない
0400デフォルトの名無しさん2013/03/22(金) 22:21:26.59
dobonがWPFに対応してくれたら移行するんだけどな
0401デフォルトの名無しさん2013/03/22(金) 22:53:07.49
そんな奴は移行しなくていいよ
WinFormsもまともに使えてない証拠
0402デフォルトの名無しさん2013/03/22(金) 23:16:02.61
>>397
いちおうWindows Formだって高DPIに普通に対応できるんだけどね。
俺は結局WPFは普及せずに終わる可能性の方が高いと思ってる。
0403デフォルトの名無しさん2013/03/22(金) 23:22:13.81
なんでそんなめんどくさい事に労力をかけないといけないのか
0404デフォルトの名無しさん2013/03/22(金) 23:23:20.86
少なくとWPFなら気にする必要がないからな
0405デフォルトの名無しさん2013/03/22(金) 23:34:24.43
>>401
そこまで極めたいわけでもないからね
dobonみたいなサイトからコピペで動くものがつくれればいいやって感じ
0406デフォルトの名無しさん2013/03/22(金) 23:35:18.28
>>396
比較画像とかある?
1ビット違うだけじゃ差がありすぎるでしょ?みたいな。
0407デフォルトの名無しさん2013/03/22(金) 23:39:39.18
>>403-404
Windows FormでもやることはほとんどAutoScaleModeをDpiにするだけ。
なんか勘違いしてないか。

旧VBのFormのGUIの単位がTwipsだったことを考えれば分かると思うけど
もともとMSはモニタの高DPI化はもっと早く実現すると想定していた。
0408デフォルトの名無しさん2013/03/22(金) 23:41:22.66
>>406
そんなNYSCのTVで地デジ(HD画質)の画質を体験させろというような話w
0409デフォルトの名無しさん2013/03/23(土) 00:12:16.55
>>395>>406
1677万色が満遍なく散りばめられた写真や映画などの自然画なら正解。
10億色になってもほとんどわからない。

ただイラストやアニメみたいなベタ塗りに近い(色が偏った)絵だと一目瞭然。
例えば24bitカラーで2色間のグラデーションだと256色しかないので馬鹿でも違いがわかる。

ようするにDeepColor/scRGBはアニメとエロゲのためにあるような規格ってことだ
0410デフォルトの名無しさん2013/03/23(土) 00:15:07.74
同じコストかけるなら解像度上げる方がニーズあるし綺麗に見えるし
>>409の言うように色も誤魔化しやすくなるしでいいわな
0411デフォルトの名無しさん2013/03/23(土) 00:16:19.08
フルカラーは知らないけど、
白黒なら医療用でそういう需要があるという話は聞いた事ある
0412デフォルトの名無しさん2013/03/23(土) 00:17:59.88
ただ、同じコストかっていうのは激しく疑問だ
0413デフォルトの名無しさん2013/03/23(土) 00:19:40.11
>>410
解像度あげまくって実際6ビットしかないのに疑似フルカラーで8ビットってのは最近のスマホでよくある方法だわな
0414デフォルトの名無しさん2013/03/23(土) 00:23:47.89
最近のスマホはディザで色分解能を上げてるわけじゃないと思うけど、
そういう手法なら30年以上前からある
0415デフォルトの名無しさん2013/03/23(土) 00:26:04.30
PAINT文でパターン指定して中間色を出すみたいな
0416デフォルトの名無しさん2013/03/23(土) 00:26:12.71
>>411
おれの本業はまさにそれだが、マンモなどの医療用は4kを越える高解像度、かつ12ビット以上だからぶっちゃけC#ではループが遅くて厳しい。
大枠のUIはC#で書いてるけど細部はCとアセンブラで書いてP/Invoke。
0417デフォルトの名無しさん2013/03/23(土) 00:27:21.28
>>416
unsafe使っても厳しいか
そりゃまそうだろうなあ
0418デフォルトの名無しさん2013/03/23(土) 00:29:33.25
まさにそれが意図した使い方だと思うけど
ピュアC#なんてC#しか使えない奴のハンデ戦みたいなもん
0419デフォルトの名無しさん2013/03/23(土) 00:29:58.94
そういう用途ではLinqは遅いよ。
0420デフォルトの名無しさん2013/03/23(土) 00:53:10.00
ただでさえ画像処理速度糞なのにDeepColorとかまともに動くのかよ
0421デフォルトの名無しさん2013/03/23(土) 01:09:56.82
遅くはないだろ。unsafe使えませんってレベルか?
0422デフォルトの名無しさん2013/03/23(土) 02:44:38.00
unsafeで処理する以前の段階が糞なんだよ
経験の浅い素人は恥ずかしいから黙ってたほうが良いよ
0423デフォルトの名無しさん2013/03/23(土) 02:49:24.22
経験が深い人ならせめてデコードっていえよ
0424デフォルトの名無しさん2013/03/23(土) 04:53:27.73
表示の話してるのにunsafeとか無能丸出し
0425デフォルトの名無しさん2013/03/23(土) 04:54:56.17
60fps出るのに遅い?

スキルに問題ありだね。
0426デフォルトの名無しさん2013/03/23(土) 04:57:23.85
unsafeで出来る処理の範囲なんて限られてるのに
やったこともないのに馬鹿の一つ覚えで言ってるんだな
0427デフォルトの名無しさん2013/03/23(土) 05:00:28.71
>>425
アイコンサイズですか?www
フォーマットやサイズ、同じフォーマットでも作成された環境でピンきりなのに60fps出るのに(キリッ とか馬鹿丸出しですよ
0428デフォルトの名無しさん2013/03/23(土) 05:06:25.76
>>427
おまえしか知らない仕様を次から次へと後出しされてもな。無能SEですか。

何をどうやろうとして糞なのか先に全部書け。
0429デフォルトの名無しさん2013/03/23(土) 05:11:25.35
>>428
>60fps出るのに遅い?(キリッ
おまえしか知らない仕様で語られてもね(w
0430デフォルトの名無しさん2013/03/23(土) 05:14:12.72
馬鹿は見苦しいから黙ってろよ
0431デフォルトの名無しさん2013/03/23(土) 05:49:38.62
目糞鼻糞w
0432デフォルトの名無しさん2013/03/23(土) 05:55:49.65
xboxがc#なのに遅いはないわw
0433デフォルトの名無しさん2013/03/23(土) 07:19:41.43
ToolStripContainer上にToolStripを縦に2列置いた初期状態から
ToolStrip1とToolStrip2を横に並べて1行にした場合や再度2列に戻したりした場合に
ToolStripContainerの高さが自動で1列や2列になるようにするにはどうすればよいでしょうか?
0434デフォルトの名無しさん2013/03/23(土) 08:24:24.21
>>417-432
XboxのC#はよく知らんがBitBltのような物で単に転送しているだけだろ?

↓のような巨大ループで1フレームで60fpsを維持できるかって話だ。
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
//加工
}
}

>>416の用途は事前に用意してある画像を単に表示するだけではなく、リアルタイムで加工しながら表示するというものだ。
これMac/Objective-Cで作ってある物だが元データは1つでそこから操作に応じてリアルタイムに切り出して表示している。
http://www.youtube.com/watch?v=PRHQFiymQKs
http://www.youtube.com/watch?v=kor1-ohgiW0
0435デフォルトの名無しさん2013/03/23(土) 08:31:57.84
こんなループをC/C++並に高速化できるか?
unsafe使ったところでfor文は速くならんだろ?
代案あるか?

for (p = 0; p < 4; p++) {
for (y = 0; y < 2048; y++) {
for (x = 0; x < 4096; x++) {
z++;
}
}
}
0436デフォルトの名無しさん2013/03/23(土) 08:43:58.76
Cの関数を呼ぶ
0437デフォルトの名無しさん2013/03/23(土) 09:29:35.14
全部ループで回す原始的な方法を止める
0438デフォルトの名無しさん2013/03/23(土) 09:30:32.32
C#って遅いの?
0439デフォルトの名無しさん2013/03/23(土) 09:32:08.25
宇宙からみたら超速いよ
0440デフォルトの名無しさん2013/03/23(土) 09:34:01.36
>>434-435
http://davidthomasbernal.com/blog/2008/03/13/c-image-processing-performance-unsafe-vs-safe-code-part-i/
http://davidthomasbernal.com/blog/2008/03/14/c-image-processing-performance-unsafe-vs-safe-code-part-ii/
https://github.com/dtb/CSharp-Image-Processing-Sample
unsafe      194           0
IntPtr       262          35%
GetPixel  238,299 (~4 min.) 122,734%

これで1桁msが出るようになればいいんだろ?
簡単じゃんwww
0441デフォルトの名無しさん2013/03/23(土) 09:35:55.15
>>434
なにこれ凄い
Objective-Cも大概なくらい遅いがこのくらいはできるもんなのか
0442デフォルトの名無しさん2013/03/23(土) 09:37:18.46
単純なループがC#がCより遅いとかあるの?
0443デフォルトの名無しさん2013/03/23(土) 09:37:44.17
C#はObjective-Cの足下にも及ばないってことだよ
時間の無駄なのでC#なんてやめてObjective-Cを覚えなさい
0444デフォルトの名無しさん2013/03/23(土) 09:54:38.01
ループの内側に計算式があるだろうしどう頑張っても遅いんじゃね?
0445デフォルトの名無しさん2013/03/23(土) 09:59:09.17
並列化すればok
0446デフォルトの名無しさん2013/03/23(土) 09:59:22.34
GPUでやれ
0447デフォルトの名無しさん2013/03/23(土) 09:59:37.70
C#の浮動小数点は遅いからな
https://github.com/dtb/CSharp-Image-Processing-Sample/blob/master/ImageProcessor/Process.cs
0448デフォルトの名無しさん2013/03/23(土) 10:07:31.52
C#を極めて無いから遅いだけじゃないの?
0449デフォルトの名無しさん2013/03/23(土) 10:15:27.02
C#が遅いつってもせいぜいCの2倍程度でしょ
0450デフォルトの名無しさん2013/03/23(土) 10:17:11.73
C#が遅いのってフォームだけじゃないの?計算が遅いとかありえるの?
0451デフォルトの名無しさん2013/03/23(土) 10:21:09.30
無いよ
今はJITでCとの誤差1%以内になる
0452デフォルトの名無しさん2013/03/23(土) 10:22:53.03
浮動小数点はクソマジメにIEEE仕様に準拠している関係で100倍くらい遅い
0453デフォルトの名無しさん2013/03/23(土) 10:25:28.93
>>446
それC#とは別のCモドキ言語や
0454デフォルトの名無しさん2013/03/23(土) 10:26:40.76
どうせGPUでやるんだからホスト言語はどうでもいいってことだろ
0455デフォルトの名無しさん2013/03/23(土) 10:28:33.31
今時CPUで画像処理をやって遅いとかただのアホ、てことです
0456デフォルトの名無しさん2013/03/23(土) 10:31:07.19
C#は基本的にGPUを使うようになってないから
■ このスレッドは過去ログ倉庫に格納されています