アプリ版:「スタンプのみでお礼する」機能のリリースについて

ディスプレイに長方形を描画して、その長方形の線の外側を1ドットずつ透過色で塗りつぶしたいです。
長方形を描くことはできたので塗りつぶしの方法を教えていただきたいです。
わかります方、よろしくお願いします。

開発環境は
WindowsXP
VC++6.0です。
よろしくお願いいたします。

A 回答 (2件)

透過色で塗りつぶすという考えがおかしいです。


また質問が大雑把すぎます。
No1 Kaoneさんの「透過色ってどういう意味ですか」の補足要求についてもフォローも曖昧です。
透過したいとは、Windowsのデスクトップ(他のアプリを含めて)に対してなのか
自分自身のアプリ内で完結したのでいいのかも、この質問からは読み取れません。
(Windowsのデスクトップに対して透過させたいというなら基本的には無理です。)

例えばゲームのキャラクタ等を背景と合成する場合、
抜き色を指定する場合があります(透過色と呼ぶこともあります)が、
それは、その抜き色の部分を最初から描画しないのであって
後から透過しているわけではありません。


質問者さんの意図とは違うかもしれませんが
もし背景の上に塗りつぶした長方形を1ドットずつ縮小したいのなら

背景を描画

sx+1,sy+1,dx-1,dy-1の長方形を描画

背景を描画

sx+2,sy+2,dx-2,dy-2の長方形を描画



C++風に書くと

wihle( dx>0 && dy>0 ){
背景を描画;
sx,sy,dx,dyの長方形を描画;
sx++ ; sy++ ; dx-- ; dy--;
}
    • good
    • 0

もうすこし具体的に質問してくれないとわかりません。



ディスプレイに描画って、デスクトップに描画するということでしょうか?
HDC hDC = GetDC(NULL);
あと透過色ってどういう意味でしょうか?

この回答への補足

拙い質問で申し訳ございませんでした。

X = 320
Y = 240
の領域内に描画した長方形の線の外側を1ドットずつ透過させたいと思っております。

因みに描画した長方形は
sx = 26 //開始X座標
sy = 46 //開始Y座標
dx = 268 //X方向ピクセル数
dy = 148 //Y方向ピクセル数
で描画しております。

補足日時:2007/12/11 10:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!