C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.7302 の関連記事表示

<< 0 >>
■7302  Re[9]: ★わんくま勉強会(東京・大阪)12月検討
□投稿者/ 中博俊 -(2006/10/06(Fri) 12:29:45)
>

    分類:[討論] 

    ホワイトボードあるはずです。
    東京でも確認します。
記事No.7260 のレス /0過去ログ8より / 関連記事表示
削除チェック/

■7302  Re[4]: Imageクラスの継承
□投稿者/ Hongliang -(2007/09/03(Mon) 15:56:41)
>
    > さらなBitmapインスタンスを作成して、そこから
    > Graphics.FromImage メソッド
    > http://msdn2.microsoft.com/ja-jp/library/system.drawing.graphics.fromimage(VS.80).aspx
    > でGraphicsのオブジェクト得て、
    > Graphics.DrawImage メソッド
    > http://msdn2.microsoft.com/ja-jp/library/system.drawing.graphics.drawimage(VS.80).aspx
    > でもとのImageをそこに描画してしまえば、その内部のBitmapができると思います。

    それは論点が違うと思いますが……。
    Image オブジェクトから Bitmap オブジェクトがほしいなら Bitmap(Image) コンストラクタを使えば基本的に十分です。
    // 元オブジェクトのクローンである点には気をつける必要がありますが。


    一番の問題は、LockBits している間はその Bitmap オブジェクトの一部メソッドが阻害されると言う点です。また、UnlockBits するまではそのポインタに適用した変更が Bitmap オブジェクトに反映されません。
    Image から派生させたクラスを作れたとして、そのインスタンス生成時に LockBits して破棄時に UnlockBits するような構造だと実質使い物になりません。
    かといって、毎回 LockBits/UnlockBits するような構造にするぐらいなら GetPixel/SetPixel した方がマシです。
    必要な間だけロックするようにすればいい、と言うのは Bitmap クラスの実装と全く同じです。別クラスで表現する意味がありません。
    BitmapData から任意の座標を計算するのが面倒なら、そういうメソッドを用意してやればいいだけで、それは派生クラスでなくても可能です。

    てことで、結局 ExBitmap : IDisposable みたいな実装が妥当な形になります。
    // これはこれで色々問題があるようですが……まあ自分で使う分には。

    以上、取り敢えず実装的な面から。オブジェクト指向的意味論からも否定できそうですが。
記事No.7288 のレス /過去ログ18より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -