投稿

3月, 2013の投稿を表示しています

シンボルサーバーを設定する

シンボルサーバーを設定した(する)ので自分用のメモ シンボルサーバーを設定する マイコンピュータの環境設定の環境変数「_NT_SYMBOL_PATH」にシンボルサーバーへのパスを設定します。 例えば、 D:\symbols \\symserver\symbols http://msdl.microsoft.com/download/symbols にシンボルサーバーだよと設定したい場合、環境変数に Srv*D:\symbols*\\symserver\symbols*http://msdl.microsoft.com/download/symbols というように設定します。 これを設定しておくと、「D:\symbols」と「\\symserver\symbols」共有フォルダにシンボルファイルが格納されます。 シンボルサーバーへシンボルの追加 共有フォルダへシンボルファイルを追加する場合、「symstore.exe」を使用します。 これはMicrosoft Debugging Tools for Windowsのパッケージに含まれています。 例えば、「C:\svn\projects」フォルダ下に生成されたシンボルファイルを共有フォルダに登録したい場合、以下のように実行します。 symstore.exe add /f "c:\svn\projects\*.pdb" /s "\\symserver\sysmbols" /r このコマンドで「C:\svn\projects」フォルダ下の*.pdbファイルを再帰的探して共有フォルダに設定します。
イメージ
icc profileを使った色変換 ここではicc profileを使った色変換をWPFのGraphicsを使ってやってみようと思う。 まず、WPFのGraphicsについて簡単に GDIやGDI+と比較してWPFのGraphics(System.Windows.Media.Imaging)は割りとよくできている。 特徴 ・RGBだけではなく、様々なピクセルフォーマットに対応している  →RGB(A)/CMYK/Gray ・icc profileを使用した色変換もサポートしているよ ・Regionではなくパスの論理演算ができるよ ・ビットマップのエフェクト周りがいろいろ捗るよ ・2DGraphicだけではなくて3DGraphicもサポートしているよ やりたいこと icc profileを使った画像の色変換 ビットマップの画素を弄る icc profileを埋め込んだ画像の生成 icc profileを埋め込んだ画像の生成 JPEGファイルを生成する場合 JpegBitmapEncoderというクラスを使用する。 こいつは任意のピクセルフォーマットのビットマップからJpegを生成するクラスだ。 元のビットマップデータはWritableBitmapというクラスで予め設定しておく。 var w = 640; var h = 480; var bmp = WriatableBitmap(w, h, 72, 72, PixcelFormats.Cmyk32, null); 的な感じでやると幅/高さ = 640/480ピクセルの1画素がCMYK(4byte)のビットマップ バッファが生成される。 こいつの偉いところはピクセルフォーマットによって内部の構造を隠蔽しているところだ。 こいつに予め用意しておいたCMYKのbyte配列・・・buffでFillする場合、 bmp.WritePixcels(new Int32Rect(0, 0, w, h), buff, w * 4, 0); というように書くとCMYKのビットマップがWritableBitmapに設定される。 後は、icc profileを埋め込んだJPEGファイルの生成だ。 WriteableBitmapをJpegB