http://www.yomiuri.co.jp/national/news/20090124-OYT1T00546.htm
>パソコンを解体しないと駆除できないケースもあった。
解体って、いったい何をしたのよ。
2009年1月21日水曜日
2009年1月9日金曜日
ReSharperでショートカットを有効にする
前回の続き。
ReShaperをインストールしたものの、ショートカットが軒並み使えないので、調査してみました。で、見つかったのが、↓のサイト。
[匣の向こう側 - あまりに.NETな]ReSharperのショートカットキー
あぁ。無理なのね。もうバージョンも4.1にもなっているんだから出来ても良さそうなのに...
でも、大概のことは誰かがはまって解決方法がWebに書いている。見つけた対処法は2つ
・DLLをリビルド(?)
[日影日記]ReSharper を日本語版 Visual Studio で使う (2)
・英語版VisualStudioからのコピー
[中の技術日誌ブログ]Resharperのキーバインドをばっちりにしましょう
ひとつめは、自分程度の技術力じゃ怖くて出来ないのでなし。2つめの英語版にしました。
ただ、日本語版が入っている環境に、別途英語版を入れることは出来ないようでした。
#日本語版をインストールする際に、既存フォルダの上書きしか選べない。
(今回の対応手順)
・英語版をMSDNからダウンロード
・英語版のインストール
・SPが外れる(?)用なので、再度SP1の適用。
・VisualStudioを英語設定にする。
・ReShaperのキーバインドの再設定
・VisualStudioを日本語設定に戻す。
以上で、キーバインドが設定されました。機能については、これから勉強していきたいですね。
#軽く使ってみてややレスポンスが遅いような気がします。
ReShaperをインストールしたものの、ショートカットが軒並み使えないので、調査してみました。で、見つかったのが、↓のサイト。
[匣の向こう側 - あまりに.NETな]ReSharperのショートカットキー
あぁ。無理なのね。もうバージョンも4.1にもなっているんだから出来ても良さそうなのに...
でも、大概のことは誰かがはまって解決方法がWebに書いている。見つけた対処法は2つ
・DLLをリビルド(?)
[日影日記]ReSharper を日本語版 Visual Studio で使う (2)
・英語版VisualStudioからのコピー
[中の技術日誌ブログ]Resharperのキーバインドをばっちりにしましょう
ひとつめは、自分程度の技術力じゃ怖くて出来ないのでなし。2つめの英語版にしました。
ただ、日本語版が入っている環境に、別途英語版を入れることは出来ないようでした。
#日本語版をインストールする際に、既存フォルダの上書きしか選べない。
(今回の対応手順)
・英語版をMSDNからダウンロード
・英語版のインストール
・SPが外れる(?)用なので、再度SP1の適用。
・VisualStudioを英語設定にする。
・ReShaperのキーバインドの再設定
・VisualStudioを日本語設定に戻す。
以上で、キーバインドが設定されました。機能については、これから勉強していきたいですね。
#軽く使ってみてややレスポンスが遅いような気がします。
2009年1月6日火曜日
2009年1月3日土曜日
GetPixelが遅い
画像からRGBの各要素を取り出すことがあったのですが、異常に遅かったのでいろいろ比較してみました。
1280×800のBitmapからすべてのピクセルからRGBの各要素を取り出すまでの時間を比較してみました。
(CPU:Core2DuoT7200/Memory:4GB)
手法 | 時間 |
GetPixel | 1.8356103 |
GetPixel2 | 1.5895904 |
LockBits | 0.0062316 |
unsafe | 0.0024599 |
※GetPixel2はWidthとHeightを一時変数に代入し、高速化を図ったもの
こうしてみると、WidthプロパティとHeigtプロパティにアクセスするだけで結構時間がかかることがよくわかります。あと、LockBitsとunsafeの時間の違いはMarshalCopyの処理時間なのかな?
(以下ソースコード)
GetPixel
for (int i = 0; i < bitmap.Width; i++)
{
for (int j = 0; j < bitmap.Height; j++)
{
var color = bitmap.GetPixel(i, j);
int r = color.R;
int g = color.G;
int b = color.B;
}
}
GetPixel
int width = bitmap.Width;
int height = bitmap.Height;
for (int i = 0; i < width; i++)
{
for (int j = 0; j < height; j++)
{
var color = bitmap.GetPixel(i, j);
int r = color.R;
int g = color.G;
int b = color.B;
}
}
LockBits
BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
int width = bitmapData.Width;
int height = bitmapData.Height;
byte[] bytes = new byte[bitmapData.Stride * bitmapData.Height];
Marshal.Copy(bitmapData.Scan0, bytes, 0, bytes.Length);
int index = 0;
int nResidual = bitmapData.Stride - width * 3;
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
int r = bytes[index + 2];
int g = bytes[index + 1];
int b = bytes[index];
index += 3;
}
index += nResidual;
}
bitmap.UnlockBits(bitmapData);
unsafe
BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
int width = bitmapData.Width;
int height = bitmapData.Height;
int nResidual = bitmapData.Stride - width * 3;
unsafe
{
byte* p = (byte*)(void*)bitmapData.Scan0;
for (int y = 0; y < height; ++y)
{
for (int x = 0; x < width; ++x)
{
int r = p[2];
int g = p[1];
int b = p[0];
p += 3;
}
p += nResidual;
}
}
bitmap.UnlockBits(bitmapData);
コマンドプロンプトにドラッグ&ドロップ
XPではコマンドプロンプトにドラッグ&ドロップすることで、パスを貼りつけることができました。しかし、Vistaではできなくなっています。
ググってみると、Shift+右クリックで「パスとしてコピー」があらわれるらしい。で、やってみた。
http://ascii.jp/elem/000/000/048/48471/
出てこない…。コマンドウィンドウをここで開くは追加されているのだが…。不便
登録:
投稿 (Atom)