🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.visualbasic
Article #847

Re: Re: [Q]ビットマップの回転(Rotation)どうやる?

#847
From: Sato Masahiro
Date: Mon, 26 Jan 1998 00:00
51 lines
2023 bytes
In article <6a9n0a$m25@rorty.mim.co.jp>, AKIYA Saburou wrote:
>>       真っ黒のものと合成(And)。
>
>ここは、「真っ白のものと合成」です。
>
>でも、これではできないかもしれませんね。

 状況にもよるでしょうが、例えば hPal プロパティに白黒のパレットを代入
 すれば、画像も白黒になりそうですが...。

 なお、以前似たような処理を行う際に、Win32 API の CreateDIBSection 関数を
用いて白黒16階調のパレットを持つイメージを作成し、転送元の画像をこの
イメージに Bitblt することによって、白黒のイメージに変換しました。

例: hPalプロパティに白黒のパレットを代入
Option Base 0

Type LOGPALETTE
        Version As Integer
        PalNum As Integer
        PalBytes(256 * 4 - 1) As Byte
End Type

Declare Function CreatePalette Lib "gdi32" (lpLogPalette As LOGPALETTE) As Long

Dim p As Picture
Dim logpal As LOGPALETTE
Dim h As Long
Dim i As Integer

Set p = LoadPicture("c:\winnt35\256color.bmp")

logpal.Version = &H300
logpal.PalNum = 256

For i = 0 To 255
    logpal.PalBytes(i * 4) = i
    logpal.PalBytes(i * 4 + 1) = i
    logpal.PalBytes(i * 4 + 2) = i
    logpal.PalBytes(i * 4 + 3) = 0
Next

h = CreatePalette(logpal)
p.hPal = h

SavePicture p, App.Path & "\test.bmp"

-- 
Computer Institute of Japan, Ltd.
佐藤正宏 masahiro@cij.co.jp
Technical Details
Message-ID: <6ah7da$aff@cij-gw.ykhm.cij.co.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <6a7mi7$8e6$1@saint.win.or.jp> <6a9mme$m25@rorty.mim.co.jp> <6a9n0a$m25@rorty.mim.co.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 105c2e,bb53da982c4ce48f
X-Google-Attributes: gid105c2e,public
From: masahiro@cij.co.jp (Sato Masahiro)
Subject: Re: Re: [Q]ビットマップの回転(Rotation)どうやる?
Date: 1998/01/26
Message-ID: <6ah7da$aff@cij-gw.ykhm.cij.co.jp>
X-Deja-AN: 319373248
References: <6a7mi7$8e6$1@saint.win.or.jp> <6a9mme$m25@rorty.mim.co.jp> <6a9n0a$m25@rorty.mim.co.jp>
Content-Type: text/plain; charset=ISO-2022-JP
Organization: Computer Institute of Japan, Ltd.
Mime-Version: 1.0
Newsgroups: fj.lang.visualbasic