Hast mal in den Code von Beitrag #7 geschaut?
Kennt jemand die Musik aus Beitrag #7?
Meine Generation dürfte sie kennen... ![]()
Tipp: hat mit dem User Namen des Themenerstellers zu tun ![]()
Gruß,
UEZ
Hast mal in den Code von Beitrag #7 geschaut?
Kennt jemand die Musik aus Beitrag #7?
Meine Generation dürfte sie kennen... ![]()
Tipp: hat mit dem User Namen des Themenerstellers zu tun ![]()
Gruß,
UEZ
Probiere es mal damit: Play MP3 from mem using FMOD.au3 (läuft nur kompiliert!) ( aus dem Beitrag Play Chip Sound from Memory )
Musst nur den Binär String umtauschen.
Ansonsten poste mal, was du bis jetzt zusammen gestellt hast.
Gruß,
UEZ
Ist sehr gut geworden. ![]()
Nur den Zeiger würde ich in einer anderen Farbe wählen, da er kaum auffällt.
Hast du das Drehrad selbst erstellt?
Ach ja, eine Highscore wäre auch nicht schlecht.
Gruß,
UEZ
Probiere es mal mit der 3.3.10.3
Gruß,
UEZ
Probiere es mal damit (benötigt AutoIt Version 3.3.10.x![]()
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
Example()
[/autoit] [autoit][/autoit] [autoit]Func Example()
Local $listview, $hImageList, $hBitmap, $hHBitmap, $hBmp, $i
GUICreate("ImageList AddBitmap", 400, 200)
$listview = GUICtrlCreateListView("", 2, 2, 396, 196, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
_GUICtrlListView_SetExtendedListViewStyle($listview, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER))
GUISetState(@SW_SHOW)
Local $aURLs[3][2] = [["http://www.autoit.de/wcf/images/avatars/avatar-2014.png", "Facemix"], ["http://www.autoit.de/wcf/images/avatars/avatar-1529.jpg", "Andy"], ["http://www.autoit.de/wcf/images/avatars/avatar-865.png", "UEZ"]]
; Load images
_GDIPlus_Startup()
$hImageList = _GUIImageList_Create(32, 32)
; Add columns
_GUICtrlListView_AddColumn($listview, "Avatars", 50)
_GUICtrlListView_AddColumn($listview, "Users", 100)
For $i = 0 To UBound($aURLs) - 1
$hBmp = _GDIPlus_BitmapCreateFromMemory(InetRead($aURLs[$i][0]))
$hBitmap = _GDIPlus_ImageResize($hBmp, 32, 32)
$hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
_GUIImageList_Add($hImageList, $hHBitmap, 0)
_GDIPlus_BitmapDispose($hBmp)
_GDIPlus_BitmapDispose($hBitmap)
_WinAPI_DeleteObject($hHBitmap)
; Add items
_GUICtrlListView_AddItem($listview, "", $i)
_GUICtrlListView_AddSubItem($listview, $i, $aURLs[$i][1], 1)
Next
_GUICtrlListView_SetImageList($listview, $hImageList, 1)
; Loop until the user exits.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example
Gruß,
UEZ
This program requires AutoIt version 3.3.9.21 or higher!
Ich nehme an, dass du noch die 3.3.8.1 oder älter benutzt. Richtig?
Gruß,
UEZ
Der Bereich 0, 0 mit Breite und Höhe = 10 wird fotografiert und als JPG mit der Qualität 80 komprimert. Das Resultat wird als Binärstring in $bImage zurückgegeben.
;Coded by UEZ 2013 -> This program requires AutoIt version 3.3.9.21 or higher!
#include <Screencapture.au3>
#include <Memory.au3>
_GDIPlus_Startup()
Global $hHBitmap = _ScreenCapture_Capture("", 0, 0, 10, 10)
Global $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hHBitmap)
Global $bImage = _GDIPlus_StreamImage2BinaryString($hBitmap)
ConsoleWrite("Error: " & @error & @LF)
MsgBox(0, "Binary", $bImage)
_GDIPlus_BitmapDispose($hBitmap)
_WinAPI_DeleteObject($hHBitmap)
_GDIPlus_Shutdown()
Func _GDIPlus_StreamImage2BinaryString($hBitmap, $sFormat = "JPG", $iQuality = 80, $bSave = False, $sFilename = "Converted.jpg") ;coded by UEZ 2013 build 2013-09-14
Local $sImgCLSID, $tGUID, $tParams
Switch $sFormat
Case "JPG"
$sImgCLSID = _GDIPlus_EncodersGetCLSID($sFormat)
$tGUID = _WinAPI_GUIDFromString($sImgCLSID)
Local $tData = DllStructCreate("int Quality")
DllStructSetData($tData, "Quality", $iQuality) ;quality 0-100
Local $pData = DllStructGetPtr($tData)
$tParams = _GDIPlus_ParamInit(1)
_GDIPlus_ParamAdd($tParams, $GDIP_EPGQUALITY, 1, $GDIP_EPTLONG, $pData)
Case "PNG", "BMP", "GIF", "TIF"
$sImgCLSID = _GDIPlus_EncodersGetCLSID($sFormat)
$tGUID = _WinAPI_GUIDFromString($sImgCLSID)
Case Else
Return SetError(1, 0, 0)
EndSwitch
Local $hStream = _WinAPI_CreateStreamOnHGlobal() ;http://msdn.microsoft.com/en-us/library/ms864401.aspx
If @error Then Return SetError(2, 0, 0)
_GDIPlus_ImageSaveToStream($hBitmap, $hStream, DllStructGetPtr($tGUID), DllStructGetPtr($tParams))
If @error Then Return SetError(3, 0, 0)
_GDIPlus_BitmapDispose($hBitmap)
Local $hMemory = _WinAPI_GetHGlobalFromStream($hStream) ;http://msdn.microsoft.com/en-us/library/aa911736.aspx
If @error Then Return SetError(4, 0, 0)
Local $iMemSize = _MemGlobalSize($hMemory)
If Not $iMemSize Then Return SetError(5, 0, 0)
Local $pMem = _MemGlobalLock($hMemory)
$tData = DllStructCreate("byte[" & $iMemSize & "]", $pMem)
Local $bData = DllStructGetData($tData, 1)
_WinAPI_ReleaseStream($hStream) ;http://msdn.microsoft.com/en-us/library/…3(v=vs.85).aspx
_MemGlobalFree($hMemory)
If $bSave Then
Local $hFile = FileOpen($sFilename, 18)
If @error Then Return SetError(6, 0, $bData)
FileWrite($hFile, $bData)
FileClose($hFile)
EndIf
Return $bData
EndFunc ;==>_GDIPlus_StreamImage2BinaryString
Speicherst du den Binärstring in eine Datei, so erhälst du logischerweise ein JPG Bild.
Gruß,
UEZ
Probiere mal einen anderen Kanal aus. Manchmal gibt es Störungen von anderen WLANs.
Gruß,
UEZ
Ich hatte ein ähnliches Anliegen. Ich wollte auf eine SD Karte MP3s kopieren, aber habe keine Lust gehabt, mir Titel auszusuchen, und deshalb habe ich mir ein Tool gebastelt, das zufällig Lieder auf die SD Karte kopiert.
Wer Interesse hat, kann ja mir bescheid geben.
Gruß,
UEZ
Ich meinte sowas
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
AutoItSetOption("GUIOnEventMode", 1)
_GDIPlus_Startup()
Global Const $iW = 512, $iH = 384, $fPi = ACos(-1)
Global Const $hGUI = GUICreate("", $iW, $iH)
GUISetState()
Global Const $hGfx = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global Const $hBmp = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBmp)
Global Const $hImage = _GDIPlus_ImageLoadFromFile("c:\Program Files (x86)\AutoIt3\Examples\GUI\msoobe.jpg")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
Global $fX, $fY, $fR = 128, $i, $j, $iFPS
AdlibRegister("FPS", 1000)
Do
$fX = Cos($i / 4 + $j) * $fR
$fY = Sin($i /
* $fR
_GDIPlus_GraphicsDrawImageRectRect($hCtxt, $hImage, 256 + $fX, 192 + $fY, $iW, $iH, 0, 0, $iW, $iH)
_GDIPlus_GraphicsDrawString($hCtxt, "Scrolling", 25, 100, "Arial", 80)
_GDIPlus_GraphicsDrawImageRect($hGfx, $hBmp, 0, 0, $iW, $iH)
$i += 0.25
$j += 0.001
$iFPS += 1
Until Not Sleep(10)
Func FPS()
WinSetTitle($hGUI, "", $iFPS & " FPS")
$iFPS = 0
EndFunc
Func _Exit()
AdlibUnRegister("FPS")
_GDIPlus_GraphicsDispose($hCtxt)
_GDIPlus_GraphicsDispose($hGfx)
_GDIPlus_BitmapDispose($hBmp)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
GUIDelete()
Exit
EndFunc
Oder die schneller Variante:
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
AutoItSetOption("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
Global Const $iW = 512, $iH = 384, $fPi = ACos(-1)
Global Const $hGUI = GUICreate("", $iW, $iH)
GUISetState()
Global Const $hBmp = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hHBITMAP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
_GDIPlus_BitmapDispose($hBmp)
Global Const $hDC = _WinAPI_GetDC($hGUI)
Global Const $hDC_Backbuffer = _WinAPI_CreateCompatibleDC($hDC)
Global Const $DC_Obj = _WinAPI_SelectObject($hDC_Backbuffer, $hHBITMAP)
Global Const $hCtxt = _GDIPlus_GraphicsCreateFromHDC($hDC_Backbuffer)
Global Const $hImage = _GDIPlus_ImageLoadFromFile("c:\Program Files (x86)\AutoIt3\Examples\GUI\msoobe.jpg")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
Global $fX, $fY, $fR = 128, $i, $j, $iFPS
AdlibRegister("FPS", 1000)
[/autoit] [autoit][/autoit] [autoit]Do
$fX = Cos($i / 4 + $j) * $fR
$fY = Sin($i /
* $fR
_GDIPlus_GraphicsDrawImageRectRect($hCtxt, $hImage, 256 + $fX, 192 + $fY, $iW, $iH, 0, 0, $iW, $iH)
_GDIPlus_GraphicsDrawString($hCtxt, "Scrolling", 25, 100, "Arial", 80)
_WinAPI_BitBlt($hDC, 0, 0, $iW, $iH, $hDC_Backbuffer, 0, 0, $SRCCOPY)
$i += 0.15
$j += 0.005
$iFPS += 1
Until Not Sleep(10)
Func FPS()
WinSetTitle($hGUI, "", $iFPS & " FPS")
$iFPS = 0
EndFunc
Func _Exit()
AdlibUnRegister("FPS")
_WinAPI_SelectObject($hDC_Backbuffer, $DC_Obj)
_WinAPI_ReleaseDC($hGUI, $hDC)
_WinAPI_DeleteObject($hHBITMAP)
_GDIPlus_GraphicsDispose($hCtxt)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
GUIDelete()
Exit
EndFunc
Benötigt 3.3.10.x Version!
Gruß,
UEZ
Man kann BugFix' Methode ein bisschen pimpen:
[autoit]
Func _DecToBin_6($Value); von BugFix
Local $bin = '', $bs
Do
$bs = BitShift($Value, 1)
$bin = $Value - $bs * 2 & $bin
$Value = $bs
Until Not $Value
Return $bin
EndFunc ;==>_DecToBin_7
Ist zwar immer noch die Langsamste (auf meinem Rechner), aber ein paar µ Sekunden schneller.
Gruß,
UEZ
Probiere es mal mit GDI+.
Idee: kopiere nur den Bereich des großen Bildes, welches du in der "kleinen" GUI anzeigen möchtest -> _GDIPlus_GraphicsDrawImageRectRect()
Ob's ruckelt oder nicht, habe ich nicht getestet.
Gruß,
UEZ
Ja, du kann das Bild als Ressource einbinden -> http://www.autoitscript.com/forum/topic/51103-resources-udf oder direkt als Binärdatei / vom Internet laden -> http://www.autoitscript.com/forum/topic/13…ur-files-easily
Gruß,
UEZ
Es ist recht aufwendig mit GDI+ "schöne" GUIs/Controls zu zeichnen.
Wie sieht es mit Skins aus? Schaue dir mal diese Links an:
http://www.autoitscript.com/forum/topic/13…ully-functional
http://www.autoitscript.com/forum/topic/90963-skincrafter-udf
http://www.autoitscript.com/forum/topic/32…3-skin-your-gui
http://www.autoitscript.com/forum/topic/12…h-skinsharp-dll
http://www.autoitscript.com/forum/topic/150636-skin-udf
Gruß,
UEZ
Ich habe mal versucht, das Skript ein bisschen zu beschleunigen.
#include <WindowsConstants.au3>
#include <WinAPIGdi.au3>
Opt("WinTitleMatchMode", 2)
Global $nFrames = 60
Global $nFPS = 30
Global Const $iWidth = 400, $iHeight = $iWidth, $iStep = 4
If $nFrames < $nFPS Then $nFrames = $nFPS
Global $aBitmaps[$nFrames][4]
For $i = 0 To $nFrames - 1
$aBitmaps[$i][2] = _WinAPI_CreateCompatibleDC(0)
$tBMI = DllStructCreate($tagBITMAPINFO)
DllStructSetData($tBMI, 1, DllStructGetSize($tBMI) - 4)
DllStructSetData($tBMI, 2, $iWidth)
DllStructSetData($tBMI, 3, $iHeight)
DllStructSetData($tBMI, 4, 1)
DllStructSetData($tBMI, 5, 32)
$aDIB = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBMI), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'uint', 0)
$aBitmaps[$i][1] = $aDIB[0]
$aBitmaps[$i][0] = $aDIB[4]
_WinAPI_SelectObject($aBitmaps[$i][2], $aBitmaps[$i][1])
$aBitmaps[$i][3] = DllStructCreate("dword[" & $iWidth * $iHeight & "]", $aBitmaps[$i][0])
Next
Global $fPi = 4 * ATan(1)
$hGUI = GUICreate("Animated Landscape", $iWidth, $iHeight)
$hDC = _WinAPI_GetDC($hGUI)
GUISetState()
Global $f1, $f2, $f3, $f4, $f5, $f6, $f7, $f8, $f9, $f10, $f20
[/autoit] [autoit][/autoit] [autoit]For $iFrame = 1 To $nFrames
$SunX = -14 + ((39 / ($nFrames - 1)) * ($iFrame - 1))
$SunY = -(27 / 380) * $SunX * $SunX + (297 / 380) * $SunX + (945 / 38)
$fAmbientLight = ($SunY / 27)
$iFrameTimer = TimerInit()
$iSunRedSaturation = Int(0.111 * $iFrame * $iFrame - 6.667 * $iFrame + 100)
For $fy = 0 To $iHeight Step $iStep
$y = -15 + $fy * 0.125
For $fx = 0 To $iWidth Step $iStep
$x = -20 + $fx * 0.125
$fDirectionalLight = Int((Abs($SunX - ($x + 6)) / 39) * 60)
$f1 = 30 - ($x - $SunX) * ($x - $SunX) - ($y - $SunY) * $y - $SunY
$f2 = $x * $x
$f3 = Abs($x)
$f4 = $fPi / 2
$f5 = 2 * $fPi
$f6 = 2 * $iSunRedSaturation
$f7 = Mod($f3 - $f4, $f5)
$f8 = Mod($f3 + $f4, $f5)
$f9 = Int(87 * $fAmbientLight)
$f10 = $x * 2
$iColorARGB = RGB($f6, 200 - $iSunRedSaturation, 200 - $iSunRedSaturation)
If $y > Sin($x) And $y > Cos($x) And $y < Tan($x) And $y < Sin($fPi * $x) + 7 And $x < 9 Then
$iColorARGB = RGB($f6, 0, 0)
ElseIf (($f7 - $fPi) * ($f7 - $fPi) + ($y - 8.5 + $f2 / 250) * ($y - 8.5 + $f2 / 250)) < 5 And $x < 8 Then
$iColorARGB = RGB($f6, 87 + $f9 - $fDirectionalLight, 0)
ElseIf (($f8 - $fPi) * ($f8 - $fPi) + ($y - 7.5 + $f2 / 280) * ($y - 7.5 + $f2 / 280)) < 5 And $x < 11 Then
$iColorARGB = RGB($f6, 41 + Int(41 * $fAmbientLight) - $fDirectionalLight, 0)
ElseIf $y <= ATan(10 - $x) Then
$iColorARGB = RGB($f6, 87 + Int(87 * ($fAmbientLight)) - $fDirectionalLight, 0)
ElseIf $y < ($iFrame / 75) * Sin($f10) * Sin($f10) + 0.5 And $y < $x - 9 Then
$iColorARGB = RGB($f6, 0, 87 + $f9 - $fDirectionalLight)
ElseIf Abs($f1) = $f1 Then
$iColorARGB = RGB(0xFF, 0xFF - $f6, 0);0x00FFFF00
EndIf
DllStructSetData($aBitmaps[$iFrame - 1][3], 1, $iColorARGB, ($fy / $iStep) * $iHeight + ($fx / $iStep) + 1)
Next
Next
WinSetTitle("Animated Landscape", "", "Animated Landscape Frame " & $iFrame & "/" & $nFrames & " (" & Round((TimerDiff($iFrameTimer) / 1000) * ($nFrames - $iFrame)) & "s remaining)")
;~ _WinAPI_BitBlt($hDC, 0, 0, $iWidth, $iHeight, $aBitmaps[$iFrame - 1][2], 0, 0, $srccopy)
$f20 = $iHeight / $iStep
_WinAPI_StretchBlt($hDC, 0, 0, $iWidth, $iHeight, $aBitmaps[$iFrame - 1][2], 0, $iHeight - ($f20), $iWidth / $iStep, $f20, $SRCCOPY)
Next
AdlibRegister("DrawScene", 1000 / $nFPS)
$iFrame = 0
$iAnimator = 1
While GUIGetMsg() <> -3
WEnd
Func RGB($R, $G, $B)
If $R < 0 Then
$R = 0
EndIf
If $G < 0 Then
$G = 0
EndIf
If $B < 0 Then
$B = 0
EndIf
Return '0x' & Hex($r * 0x10000 + $g * 0x100 + $b, 6)
EndFunc ;==>RGB
Func DrawScene()
$iFrame += $iAnimator
If $iFrame = $nFrames - 1 Or $iFrame = 0 Then
$iAnimator *= -1
EndIf
;~ _WinAPI_BitBlt($hDC, 0, 0, $iWidth, $iHeight, $aBitmaps[$iFrame][2], 0, 0, $srccopy)
$f20 = $iHeight / $iStep
_WinAPI_StretchBlt($hDC, 0, 0, $iWidth, $iHeight, $aBitmaps[$iFrame][2], 0, $iHeight - ($f20), $iWidth / $iStep, $f20, $SRCCOPY)
EndFunc ;==>DrawScene
Ich habe ein bisschen "getürkt". ![]()
Ich habe es nicht mit der minx'schen Version gebencht, also keine Ahnung, ob das was gebracht hat. Theoretisch ja...
Gruß,
UEZ
Wie hast du das GIF mit GDI+ erstellt?
Apropos prozedurale Landschaft. Wer hat Lust das Ding hier nach AutoIt zu portieren?
JavaScript:
<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>JS1k, 1k demo submission [816]</title>
<meta charset="utf-8">
</head>
<body>
<canvas height="400" width="900" id="c"></canvas>
<script>
var g, q = document,
t = Math,
r = [],
w = "#FFF",
W = 900,
c = 400,
p = i = 0,
l = 1,
b = f(9),
j = a;
f(9);
k = a;
h(w);
f(9);
u = a;
h("rgba(0,0,0,.05)");
f(10);
for (h(w); i++ < 200;) a.f(d(1E3), d(c), d(3), d(3));
f(15);
b = a.al(c, 120, 20, c, 120, W);
b.P = b.addColorStop;
b.P(.1, w);
G = "rgba(4,129,227,";
b.P(.11, G + ".3)");
b.P(1, G + "0)");
h(b);
a.f(0, 0, c * 4, c);
f(18);
for (h("#059"); p++ < W; a.ta(2, (p == 1) * c)) {
S = s;
p % 120 || s();
S = D;
D()
}
setInterval(function () {
j.ce(0, 0, W, c);
j.ga(k.cn, 0, 0);
k.ce(0, 0, W, c);
k.ga(j.cn, -1, 1);
u.f(0, 0, W, c);
u.ga(k.cn, 0, 0);
d(7) < .1 && k.f(d(1E3), 0, d(3), d(3));
j.f(0, 0, W, c);
for (i = 1; ++i < 6;)
j.ga(b = r[i], t.abs(p % 2 - 1) * -(b.width - W), 0);
p += .001
}, 10);
function f(e) {
g = g ? q.createElement("canvas") : q.body.children.c;
g.width = e * 100;
g.height = c;
a = g.getContext("2d");
r.push(g);
for (b in a) a[(b[7] || b[0]) + (b[11] || b[2])] = a[b];
a.f = a.fillRect
}
function m(e, n, o) {
a.sv();
a.rt(o);
a.ta(0, -e);
a.sa(n, n);
l *= n;
if (l > .04) S();
a.rs();
l /= n
}
function s() {
if (d(1) < .04) {
m(0, .7, -.15);
m(0, .7, .15)
} else {
a.f(0, 0, 9, 9);
m(4, 1, d(6) < 3 ? .08 : -.08)
}
}
function D() {
a.f(0, 0, 2, 2);
d(1) > .02 && m(1, .98, d(.2) - .1)
}
function d(e) {
return t.random() * e
}
function h(e) {
a.fillStyle = e
}
j.cn.onclick = function (e) {
k.f(e.clientX, e.clientY, d(3), d(3))
};
</script>
</body></html>
Alles anzeigen
Einfach als JavaScript.htm speichern und starten.
Gruß,
UEZ
In der Hilfe steht bei mir die richtige Beschreibung:
$tagBITMAPINFO
This structure defines the dimensions and color information of a Windows-based device-independent bitmap (DIB).
Global Const $tagBITMAPINFO = $tagBITMAPINFOHEADER & ";dword biRGBQuad[1]"
Parameters
$tagBITMAPINFOHEADER Contains information about dimensions of a bitmap.
biRGBQuad An array of tagRGBQUAD structures. The elements of the array that make up the color table.
Remarks
This structure should not be used for declaration as the biRGBQuad field does not have the right dimension.
It is provided just for documentation.
Concatenation of a suitable sized array to $tagBITMAPINFOHEADER must be used.
Take care of the right initialization of 'biSize' field.
Alles anzeigen
$tagBITMAPINFOHEADER
This structure defines the dimensions information of a Windows-based device-independent bitmap (DIB).
Global Const $tagBITMAPINFOHEADER = "struct; dword biSize;long biWidth;long biHeight;word biPlanes;word biBitCount;" & _
"dword biCompression;dword biSizeImage;long biXPelsPerMeter;long biYPelsPerMeter;" & _
"dword biClrUsed;dword biClrImportant; endstruct"
Parameters
biSize The number of bytes required by the structure, minus the size of the RGBQuad data
biWidth Specifies the width of the bitmap, in pixels
biHeight Specifies the height of the bitmap, in pixels
biPlanes Specifies the number of planes for the target device. This must be set to 1
biBitCount Specifies the number of bits-per-pixel
biCompression Specifies the type of compression for a compressed bottom-up bitmap
biSizeImage Specifies the size, in bytes, of the image
biXPelsPerMeter Specifies the horizontal resolution, in pixels-per-meter, of the target device for the bitmap
biYPelsPerMeter Specifies the vertical resolution, in pixels-per-meter, of the target device for the bitmap
biClrUsed Specifies the number of color indexes in the color table that are actually used by the bitmap
biClrImportant Specifies the number of color indexes that are required for displaying the bitmap
Remarks
None.
Alles anzeigen
Aber ich habe vorgeschlagen, die Struct wieder zurückzunehmen.
Edit: sieht nicht so aus, als möchte man die Struct ändern, da nun sie der MSDN entspricht und jetzt richtig ist.
Gruß,
UEZ
Ich für meinen Teil teste mit vielen meiner Skripte, ob sie mit den neuen Versionen (Betas) noch laufen. Wenn nicht, melde ich das im engl. Forum. Wenn es keine "script-breaking changes" gibt, sollten natürlich "alte" Funktionen noch "sauber" laufen.
Apropos Sprache, ich war in der Schule noch nie gut in Englisch und ich werde auch nie Englisch wie z.B. die Engländer sprechen können, aber die Basis sollte jeder können, der hier in Deutschland zur Schule geht, zumal heute es auch dank den Online Übersetzern viel einfacher ist, sein Anliegen einigermaßen in Englisch zu schreiben.
Gruß,
UEZ
Genau deswegen gab es die lange Beta Phase, damit man seine Skripte testet und die Bugs melden kann. Wenn man erst zur "Stable" testet, dann kann genau sowas heraus kommen.
Ich bin deiner Meinung, dass Jon unbedingt eine X-Mas version herausbringen wollte, zu früh für eine Stable Version war, aber ohne Input von den "Beta Testern", wird es immer noch Bugs geben.
Gruß,
UEZ