🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fj.lang.visualbasic
5 messages
5 total messages Started by Takumi Abe Thu, 02 Oct 1997 00:00
Q:[VB4Std]ビットマップの保存について
#1236
Author: Takumi Abe
Date: Thu, 02 Oct 1997 00:00
36 lines
1960 bytes
$B!!;O$a$^$7$F!"0$It$H?=$7$^$9!#(J

$B!!8=:_!"(JVB4Std$BHG$G%2!<%`$r:n$C$F$$$k$N$G$9$,!"%;!<%V%G!<%?$rJ]B8$9$k(J
$B$H$3$m$r:n$C$F$$$FJ}K!$,J,$+$i$:9T$-5M$^$C$F$7$^$$$^$7$?!#(J
$B!!$I$J$?$+J}K!$r$4B8CN$NJ}$,$$$i$C$7$c$$$^$7$?$i$*<j?t$G$9$,65$($F$/(J
$B$@$5$$!#(J

$B!!$d$j$?$$$3$H$O!"(J
$B!!#1!'%P%$%J%j%"%/%;%9$G%U%!%$%k$r3+$/!#!J$3$3$O$G$-$^$9!K(J
$B!!#2!'(JPUT$BJ8$GJQ?t$NFbMF$r=q$-9~$`!#!J$3$3$O$G$-$^$9!K(J
$B!!#3!'%S%C%H%^%C%W$r=q$-9~$`!#!J$3$l$,$G$-$^$;$s!K(J
$B!!#4!'%U%!%$%k$rJD$8$k!#!J$3$3$b$G$-$^$9!K(J
$B!!0J>e$G$9!#(J
$B!!MW$O!"%S%C%H%^%C%W$r#1$D$N%l%3!<%I$H$7$F=q$-9~$a$kJ}K!$rC5$7$F$$$^(J
$B$9!#(J
$B!!(JOS$B$O!"(JWindows95$B$N(JOSR2$B$G$9!#(J
$B!!$D$$$G$K!"%S%C%H%^%C%W%G!<%?$N=q$-9~$_%5%$%:$b%P%$%HC10L$GJ,$+$kJ}(J
$BK!$,$"$l$P65$($F$/$@$5$$!#(J
$B!!(JSavePicture$B%a%=%C%I$GJL!9$N%U%!%$%k$K$K$7$F$7$^$($P$$$$$N$G$9$,!"%2(J
$B!<%`$NFbMF>e!"0l$^$H$a$K$7$J$$$H$b$N$9$4$/;H$$$K$/$/$J$C$F$7$^$$$^$9(J
$B!#(J

$B!!(JWin32SDK$B$r;}$C$F$$$J$$$N$G!"(JAPI$B$N>l9g$O!"$*<j?t$G$9$,!"=PMh$k8B$j>\(J
$B$7$/=q$$$F$$$?$@$1$k$HHs>o$K4r$7$$$G$9!#(J
$B!!(J#$B$"$l$O9b9;@8$K$O9b$9$.$k!#(J(T_T)
$B!!$h$m$7$/$*4j$$$7$^$9!!(Jm(_ _)m

$B!!$D$$$G$G$9$,!"8=:_!"0-L>9b$$(JMSIN$B$r;H$C$F$$$k$N$G$9$,!"%U%j!<%=%U%H(J
$B$"$?$j$G2?$+$*4+$a$N%K%e!<%9%j!<%@!<$,L5$$$G$7$g$&$+!)(J
$B!!$A$J$_$K!";HMQ7ABV$O$^$H$a$F%@%&%s%m!<%I$7$F%*%U%i%$%s$GFI$s$G$$$^(J
$B$9!#(J
$B!!$3$A$i$b=PMh$l$P$h$m$7$/$*4j$$$7$^$9!#(Jm(_ _)m
-- 
$B0$It!!9*(J
E-Mail bube@yyy.or.jp
Re: Q:[VB4Std] ビットマップの保存について
#1239
Author: Sato Masahiro
Date: Fri, 03 Oct 1997 00:00
32 lines
1508 bytes
Windows NT 3.51 $B$G(B Visual Basic 4.0 $B$r;HMQ$7$F$$$k<T$G$9!#(B

In article <610b9i$49r$1@host06.interwave.or.jp>, bube@yyy.or.jp says...
>$B!!MW$O!"%S%C%H%^%C%W$r#1$D$N%l%3!<%I$H$7$F=q$-9~$a$kJ}K!$rC5$7$F$$$^(B
>$B$9!#(B
($BCfN,(B)
>$B!!(BSavePicture$B%a%=%C%I$GJL!9$N%U%!%$%k$K$K$7$F$7$^$($P$$$$$N$G$9$,!"%2(B
>$B!<%`$NFbMF>e!"0l$^$H$a$K$7$J$$$H$b$N$9$4$/;H$$$K$/$/$J$C$F$7$^$$$^$9(B

 $BC1=c$K!"JL!9$N%U%!%$%k$r:n$C$F$+$i!"%^!<%8$9$k$@$1$8$c$@$a$J$N$G(B
$B$7$g$&$+(B? $B4JC1$G$$$$$H;W$&$N$G$9$,!#(B

 $B0l1~!"(BOLE $B%3%s%F%J%3%s%H%m!<%k$K%Z%$%s%H%V%i%7%*%V%8%'%/%H$J$I$r(B
$BE=$jIU$1$F;H$&J}K!$,$"$j$^$9!#$3$l$GJ]B8$O$G$-$k$N$G$9$,(B...$B!#(B

$BNc(B: $BJQ?tCM5Z$S%S%C%H%^%C%W%$%a!<%8$r=q$-9~$`(B
Open "\Data\GameData.Dat" For Binary Access Write As #FileNo

'$BJQ?t$N=q$-9~$_(B
Put #FileNo, , MyVar1
Put #FileNo, , MyVar2

'$B%S%C%H%^%C%W$rJ]B8(B
Clipboard.SetData MyPicture
OLE1.Paste
OLE1.SaveToFile FileNo

Close #FileNo

-- 
$B:4F#@59((B <masahiro@cij.co.jp>
Re: Q:[VB4Std]ビットマップの保存について
#1250
Author: Noboru Imai
Date: Mon, 06 Oct 1997 00:00
20 lines
1148 bytes
$B:#0f(J@$B%I%k%U%#%s%7%9%F%`$G$9!#(J

Takumi Abe wrote:

> $B!!$D$$$G$G$9$,!"8=:_!"0-L>9b$$(JMSIN$B$r;H$C$F$$$k$N$G$9$,!"%U%j!<%=%U%H(J
> $B$"$?$j$G2?$+$*4+$a$N%K%e!<%9%j!<%@!<$,L5$$$G$7$g$&$+!)(J
> $B!!$A$J$_$K!";HMQ7ABV$O$^$H$a$F%@%&%s%m!<%I$7$F%*%U%i%$%s$GFI$s$G$$$^(J
> $B$9!#(J

WinVN $BF|K\8lHG$O$$$+$,$G$7$g$&$+(J?
$B$?$@$7!"%*%U%i%$%s$G;HMQ$9$k$?$a$N;Y1g%=%U%H(J(WSSoup $B$d(J gnspool)
$B$,I,MW$G$9!#(J

$BAk$NEN(J(http://www.forest.impress.co.jp)$B$+$i$?$I$l$PF~<j$G$-$^$9!#(J

-------------------------------
($B3t(J)$B%I%k%U%#%s%7%9%F%`(J  $B:#0f(J $B>:(J
imai@dolphin-system.co.jp
-------------------------------
Re: Q:[VB4Std] ビットマップの保存について
#1257
Author: Sato Masahiro
Date: Wed, 08 Oct 1997 00:00
163 lines
5934 bytes
In article <61as78$ji2$1@host06.interwave.or.jp>, bube@yyy.or.jp says...
>$B!!%^!<%8$H$O!"(BDOS$B%3%^%s%I$GI=$9$H$3$N$h$&$J;v$G$7$g$&$+!)(B
>
>$B!!(BCopy $B%U%!%$%kL>#1(B+$B%U%!%$%kL>#2(B...$B=q$-9~$_%U%!%$%kL>(B

$B0UL#$H$7$F$O!"$*$C$7$c$kDL$j$G$9!#(B

>$B!!$=$l$H!"$3$&$7$?>l9g!"FI$_9~$_$+$?$,J,$+$j$^$;$s!#(B

$B$3$N>l9g!"%U%!%$%k$N%5%$%:$r3P$($F$*$1$P!"J,3d$9$k$3$H$,$G$-$^$9$M(B?

[$B%U%!%$%k(B1$B$N%5%$%:(B] [$B%U%!%$%k(B2$B$N%5%$%:(B] [$B%U%!%$%k(B1$B$N%G!<%?(B]  [$B%U%!%$%k(B2$B$N%G!<%?(B]
$B$H$$$&%G!<%?$,=q$-9~$^$l$F$$$k%U%!%$%k$J$i$P!"=i$a$K%U%!%$%k(B1$B$H(B
$B%U%!%$%k(B2$B$N%5%$%:$rFI$_9~$_!"<!$K%U%!%$%k(B1$B$N%5%$%:$@$1%G!<%?$rFI$_9~$s$G(B
$B0l;~E*$J%U%!%$%k$K=q$-9~$_!"$=$7$F%U%!%$%k(B2$B$N%5%$%:$@$1%G!<%?$rFI$_9~$s$G(B
$BJL$N0l;~E*$J%U%!%$%k$K=q$-9~$a$PNI$$$o$1$G$9!#(B

$BBgNL$N%G!<%?$G$J$1$l$P!"$3$NJ}K!$G==J,$G$O$J$$$G$7$g$&$+!#(B
$B@596K!$G%S%C%H%^%C%W$NJ]B8$r9T$*$&$H$9$k$H!"7k9=<j4V$,$+$+$k$N$G!"(B
$B>e5-$NJ}K!$r$*$9$9$a$7$^$9!#(B

$B$J$*$3$N5-;v$N:G8e$K!"@596K!$G%S%C%H%^%C%W$NJ]B8$r9T$&%5%s%W%k$r(B
$B2C$($F$"$j$^$9(B($BCm(B:$BF0:nL$3NG'(B)$B!#7k9=BgJQ!"$H$$$&Nc$H$$$&$3$H$G(B...$B!#(B
$B$A$J$_$K!"(B"XXX.BMP"$B$H$$$&L>A0$GJ]B8$9$l$P!"B?J,%Z%$%s%H%V%i%7$G3+$1$^$9!#(B

>
>>  $B0l1~!"(BOLE $B%3%s%F%J%3%s%H%m!<%k$K%Z%$%s%H%V%i%7%*%V%8%'%/%H$J$I$r(B
>> $BE=$jIU$1$F;H$&J}K!$,$"$j$^$9!#$3$l$GJ]B8$O$G$-$k$N$G$9$,(B...$B!#(B
>
>$B!!$3$A$i$r:NMQ$7$h$&$H;W$C$?$N$G$9$,!"%S%C%H%^%C%W$r%/%j%C%W%\!<%I$K(B
>$BAw$C$?!!8e!"(BOLE$B%3%s%F%J%3%s%H%m!<%k$KE=$jIU$1$h$&$H;W$C$F$b!"(B"$BE=$jIU(B
>$B$1$i$l$^$;$s(B"$B$H%(%i!<$,=P$F;_$^$C$F$7$^$$$^$9!#(B

$B8fLH$J$5$$!#$3$l$O;d$N4*0c$$$G$7$?!#M>J,$J<j4V$r$+$1$5$;$F$7$^$C$F!"(B
$BBgJQ?=$7Lu$"$j$^$;$s!#?<$/$*OM$S?=$7>e$2$^$9!#(B


$BNc(B: $B%S%C%H%^%C%WJ]B8$N%5%s%W%k(B
Option Explicit
Option Base 0

#Const X86LONG = True

Public Const IDX_biSize = 0
Public Const IDX_biWidth = 1
Public Const IDX_biHeight = 2
Public Const IDX_biPackedData = 3
Public Const IDX_biCompression = 4
Public Const IDX_biSizeImage = 5
Public Const IDX_biXPelsPerMeter = 6
Public Const IDX_biYPeslPerMeter = 7
Public Const IDX_biClrUsed = 8
Public Const IDX_biClrImportant = 9

Public Const IDX_bmType = 0
Public Const IDX_bmWidth = 1
Public Const IDX_bmHeight = 2
Public Const IDX_bmWidthBytes = 3
Public Const IDX_bmPackedData = 4
Public Const IDX_bmBits = 5

Public Const UD_bmPlanes = 0
Public Const UD_bmBitsPixel = 1
Public Const UD_biPlanes = 2
Public Const UD_biBitCount = 3

Public Const SizeOfBITMAP = 24
Public Const SizeOfBITMAPINFOHEADER = 40
Public Const SizeOfRGBQUAD = 4
Public Const SizeOfBITMAPFILEHEADER = 14

Public Const BI_RGB As Long = 0
Public Const DIB_RGB_COLORS = 0
Public Const CBM_INIT As Long = 4

Public Type BITMAPFILEHEADER
    bfType As Integer
    bfSize As Long
    bfReserved1 As Integer
    bfReserved2 As Integer
    bfOffBits As Long
End Type

Declare Function GetBitmapObject Lib "gdi32" Alias "GetObjectA" _
    (ByVal hBitmap As Long, ByVal cbBuffer As Long, _
    ByRef LongArray As Long) As Long
Declare Function GetDIBits Lib "gdi32" (ByVal hDC As Long, _
    ByVal hBitmap As Long, ByVal uStartScan As Long, _
    ByVal cScanLine As Long, ByRef ByteArray As Byte, _
    LongArray As Long, ByVal uUsage As Long) As Long

Public Function UnpackData(Cmd As Integer, PackedData As Long) As Integer

#If X86LONG Then
    
    Select Case Cmd
        Case UD_bmPlanes, UD_biPlanes
            UnpackData = PackedData Mod &H10000
        Case UD_bmBitsPixel, UD_biBitCount
            UnpackData = Int(PackedData / &H10000)
    End Select

#End If

End Function


Public Function SaveDIBitmap(hDC As Long, hBitmap As Long, FileNO As Integer)

    Dim bm() As Long
    Dim bi() As Long
    Dim Bits() As Byte
    Dim cClrBits As Integer
    Dim biPlanes As Integer
    Dim biBitCount As Integer
    Dim bmPlanes As Integer
    Dim bmBitsPixel As Integer
    Dim bh As BITMAPFILEHEADER
    
    ReDim bm(SizeOfBITMAP / 4 - 1)

    GetBitmapObject hBitmap, SizeOfBITMAP, bm(0)
    
    bmPlanes = UnpackData(UD_bmPlanes, bm(IDX_bmPackedData))
    bmBitsPixel = UnpackData(UD_bmBitsPixel, bm(IDX_bmPackedData))
    
    cClrBits = bmPlanes * bmBitsPixel
    
    If cClrBits = 16 Or cClrBits = 32 Then
        ReDim bi(SizeOfBITMAPINFOHEADER / 4 + 3 - 1)
    ElseIf cClrBits = 24 Then
        ReDim bi(SizeOfBITMAPINFOHEADER / 4 - 1)
    Else
        ReDim bi(SizeOfBITMAPINFOHEADER / 4 + (SizeOfRGBQUAD / 4) * cClrBits - 1)
    End If
    
    bi(IDX_biSize) = SizeOfBITMAPINFOHEADER
    bi(IDX_biWidth) = bm(IDX_bmWidth)
    bi(IDX_biHeight) = bm(IDX_bmHeight)
    bi(IDX_biPackedData) = bm(IDX_bmPackedData)
    bi(IDX_biSizeImage) = Int((bi(IDX_biWidth) + 7) / 8) * bi(IDX_biHeight) * cClrBits
    bi(IDX_biClrImportant) = 0
    
    ReDim Bits(bi(IDX_biSizeImage))
    
    GetDIBits hDC, hBitmap, 0, bi(IDX_biHeight), Bits(0), bi(0), DIB_RGB_COLORS
    
    bh.bfType = &H4D42
    bh.bfSize = SizeOfBITMAPFILEHEADER
    bh.bfReserved1 = 0
    bh.bfReserved2 = 0
    
    bh.bfOffBits = SizeOfBITMAPFILEHEADER + bi(IDX_biSize)
    
    Put #FileNO, , bh
    Put #FileNO, , bi
    Put #FileNO, , Bits

End Function

-- 
$B:4F#@59((B <masahiro@cij.co.jp>
Re: Q:[VB4Std] ビットマップの保存について
#1269
Author: Takumi Abe
Date: Fri, 10 Oct 1997 00:00
30 lines
1726 bytes

$B!!JV?.$"$j$,$H$&$4$6$$$^$9!#(B
In article <61f0hs$eff@cij-gw.ykhm.cij.co.jp>, masahiro@cij.co.jp says...

>$BBgNL$N%G!<%?$G$J$1$l$P!"$3$NJ}K!$G==J,$G$O$J$$$G$7$g$&$+!#(B
>$B@596K!$G%S%C%H%^%C%W$NJ]B8$r9T$*$&$H$9$k$H!"7k9=<j4V$,$+$+$k$N$G!"(B
>$B>e5-$NJ}K!$r$*$9$9$a$7$^$9!#(B

$B!!%^!<%8$9$kJ}K!$r;H$C$F<B8=$G$-$^$7$?!#(B
$B!!$"$j$,$H$&$4$6$$$^$7$?!#(B
 #$B<B$O!"4*0c$$$7$F(BFileCopy$B%9%F!<%H%a%s%H$rD4$Y$F$7$^$$$^$7$?!#(B
$B!!$9$0$K5$IU$-$^$7$?$1$I(B(^^;)

>$B$J$*$3$N5-;v$N:G8e$K!"@596K!$G%S%C%H%^%C%W$NJ]B8$r9T$&%5%s%W%k$r(B
>$B2C$($F$"$j$^$9(B($BCm(B:$BF0:nL$3NG'(B)$B!#7k9=BgJQ!"$H$$$&Nc$H$$$&$3$H$G(B...$B!#(B
>$B$A$J$_$K!"(B"XXX.BMP"$B$H$$$&L>A0$GJ]B8$9$l$P!"B?J,%Z%$%s%H%V%i%7$G3+$1$^$9!#(B

$B!!$3$A$i$O!"$b$&>/$7>eC#$7$F$+$i3NG'$5$;$F$$$?$@$-$^$9!#(B

>$B8fLH$J$5$$!#$3$l$O;d$N4*0c$$$G$7$?!#M>J,$J<j4V$r$+$1$5$;$F$7$^$C$F!"(B
>$BBgJQ?=$7Lu$"$j$^$;$s!#?<$/$*OM$S?=$7>e$2$^$9!#(B

$B!!$$$($$$(!"$J$s$H$b;W$C$F$$$^$;$s!#(B
$B!!$`$7$m$$$$7P83$K$J$C$?$H;W$C$F$$$^$9!#(B

$B!!$=$l$G$O!#(B
---------------
$B!!0$It!!9*(B
$B!!(BE-Mail:bube@yyy.or.jp
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads