トップページ > 過去ログ > 記事閲覧
SaveDrawScreen関数についての質問です
名前:CCD 日時: 2007/05/29 23:21

はじめまして。 題名の通り、SaveDrawScreen関数についての質問なのですが たとえば、この関数でウィンドウに表示されている 640×480の画面内容を保存しようとした時に 解像度200×150で保存する、といったようなことは不可能なのでしょうか? また、もし不可能だった場合 今現在AVGを製作中なのですが、ロード画面にセーブ時の画面内容を 解像度200×150で表示させようと思ったら SaveDrawScreen関数で保存した画像を 拡大縮小処理でサイズを200×150に変更して表示する…… といったような方法がベストになるのでしょうか? 厚かましい質問だとは思いますが どなたかご教授の程、宜しくお願い致します。

Page: 1 |

Re: SaveDrawScreen関数についての質問です ( No.1 )
名前:管理人 日時:2007/05/31 11:38

CCDさん始めまして、DXライブラリの管理人です。 SaveDrawScreen 関数には縮小して保存する機能はありませんが、 GetDrawScreen 関数を使って一度画面の内容を他の画像ハンドルに保存して、 縮小して描画した画面イメージを SaveDrawScreen 関数で保存するという 方法があります。 int TempGraph; // 一時的に画面イメージを保存する画像ハンドルを作成 TempGraph = MakeGraph( 640, 480 ); // 画面イメージを取得 GetDrawScreenGraph( 0, 0, 640, 480, TempGraph ); // 描画モードをバイリニアに(縮小描画を綺麗にするため) SetDrawMode( DX_DRAWMODE_BILINEAR ); // 画面イメージを縮小して描画 DrawExtendGraph( 0, 0, 200, 150, TempGraph, FALSE ); // 縮小した画面を保存 SaveDrawScreen( 0, 0, 200, 150, "SaveImage.bmp" ); // 画面に元の内容を描画 DrawGraph( 0, 0, TempGraph, FALSE ); // 画面イメージを保存するために作成した画像ハンドルを削除 DeleteGraph( TempGraph );
Re: SaveDrawScreen関数についての質問です ( No.2 )
名前:CCD 日時:2007/06/01 00:15

親切丁寧に教えて頂きましてありがとうございます。 お陰様で希望通りの処理を行うことが出来ました。 この調子で製作の方も頑張っていきたいと思います。

Page: 1 |