1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. UEZ

Beiträge von UEZ

  • Mp3 Datei in Script einbinden und abspielen

    • UEZ
    • 18. Januar 2014 um 00:12

    Hast mal in den Code von Beitrag #7 geschaut?

    Kennt jemand die Musik aus Beitrag #7?

    Meine Generation dürfte sie kennen... :D

    Tipp: hat mit dem User Namen des Themenerstellers zu tun :!:

    Gruß,
    UEZ

  • Mp3 Datei in Script einbinden und abspielen

    • UEZ
    • 18. Januar 2014 um 00:01

    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

  • Feuerrad

    • UEZ
    • 17. Januar 2014 um 19:42

    Ist sehr gut geworden. :thumbup:

    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

  • WMI Abfrage Autoit:3.3.10.2

    • UEZ
    • 17. Januar 2014 um 10:51

    Probiere es mal mit der 3.3.10.3

    Gruß,
    UEZ

  • ImageListView Bilder aus Internet

    • UEZ
    • 12. Januar 2014 um 13:15

    Probiere es mal damit (benötigt AutoIt Version 3.3.10.x:(

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WinAPI.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Example()

    [/autoit] [autoit][/autoit] [autoit]

    Func Example()
    Local $listview, $hImageList, $hBitmap, $hHBitmap, $hBmp, $i

    [/autoit] [autoit][/autoit] [autoit]

    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)

    [/autoit] [autoit][/autoit] [autoit]

    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)

    [/autoit] [autoit][/autoit] [autoit]

    ; Add columns
    _GUICtrlListView_AddColumn($listview, "Avatars", 50)
    _GUICtrlListView_AddColumn($listview, "Users", 100)

    [/autoit] [autoit][/autoit] [autoit]

    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)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Loop until the user exits.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>Example

    [/autoit]

    Gruß,
    UEZ

  • Image to Hex-String

    • UEZ
    • 11. Januar 2014 um 00:31

    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

  • Image to Hex-String

    • UEZ
    • 11. Januar 2014 um 00:12

    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.

    Spoiler anzeigen
    [autoit]


    ;Coded by UEZ 2013 -> This program requires AutoIt version 3.3.9.21 or higher!

    [/autoit] [autoit][/autoit] [autoit]

    #include <Screencapture.au3>
    #include <Memory.au3>

    [/autoit] [autoit][/autoit] [autoit]

    _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()

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit]

    Speicherst du den Binärstring in eine Datei, so erhälst du logischerweise ein JPG Bild.

    Gruß,
    UEZ

  • Fritz! WLAN Problem

    • UEZ
    • 10. Januar 2014 um 20:24

    Probiere mal einen anderen Kanal aus. Manchmal gibt es Störungen von anderen WLANs.


    Gruß,
    UEZ

  • mp3-Dateien mit "Zufall" neu sortieren

    • UEZ
    • 10. Januar 2014 um 00:31

    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

  • Softes scrollen von bildern in der GUI. - nicht möglich ?

    • UEZ
    • 9. Januar 2014 um 21:35

    Ich meinte sowas

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GDIPlus.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 $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")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    Global $fX, $fY, $fR = 128, $i, $j, $iFPS

    [/autoit] [autoit][/autoit] [autoit]

    AdlibRegister("FPS", 1000)
    Do
    $fX = Cos($i / 4 + $j) * $fR
    $fY = Sin($i / 8) * $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)

    [/autoit] [autoit][/autoit] [autoit]

    Func FPS()
    WinSetTitle($hGUI, "", $iFPS & " FPS")
    $iFPS = 0
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    AdlibUnRegister("FPS")
    _GDIPlus_GraphicsDispose($hCtxt)
    _GDIPlus_GraphicsDispose($hGfx)
    _GDIPlus_BitmapDispose($hBmp)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
    EndFunc

    [/autoit]

    Oder die schneller Variante:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    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()

    [/autoit] [autoit][/autoit] [autoit]

    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")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    Global $fX, $fY, $fR = 128, $i, $j, $iFPS

    [/autoit] [autoit][/autoit] [autoit]

    AdlibRegister("FPS", 1000)

    [/autoit] [autoit][/autoit] [autoit]

    Do
    $fX = Cos($i / 4 + $j) * $fR
    $fY = Sin($i / 8) * $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)

    [/autoit] [autoit][/autoit] [autoit]

    Func FPS()
    WinSetTitle($hGUI, "", $iFPS & " FPS")
    $iFPS = 0
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit]

    Benötigt 3.3.10.x Version!

    Gruß,
    UEZ

  • Suche (schnelle) Funktion zum Umrechnen ins Dual- oder Hexadezimalsystem

    • UEZ
    • 9. Januar 2014 um 00:20

    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

    [/autoit]

    Ist zwar immer noch die Langsamste (auf meinem Rechner), aber ein paar µ Sekunden schneller.

    Gruß,
    UEZ

  • Softes scrollen von bildern in der GUI. - nicht möglich ?

    • UEZ
    • 8. Januar 2014 um 19:19

    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

  • Bilder in GUI einfügen -> Compiled ohne Bilddatei im Ordner möglich?

    • UEZ
    • 7. Januar 2014 um 13:18

    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

  • GUI wie bei Steam oder Spotify?

    • UEZ
    • 5. Januar 2014 um 11:29

    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

  • Animierte prozedurale Landschaft aus impliziten Gleichungen

    • UEZ
    • 3. Januar 2014 um 23:41

    Ich habe mal versucht, das Skript ein bisschen zu beschleunigen.

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <WinAPIGdi.au3>

    [/autoit] [autoit][/autoit] [autoit]

    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()

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    While GUIGetMsg() <> -3
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit]

    Ich habe ein bisschen "getürkt". :D

    Ich habe es nicht mit der minx'schen Version gebencht, also keine Ahnung, ob das was gebracht hat. Theoretisch ja...

    Gruß,
    UEZ

  • Animierte prozedurale Landschaft aus impliziten Gleichungen

    • UEZ
    • 3. Januar 2014 um 19:50

    Wie hast du das GIF mit GDI+ erstellt?

    Apropos prozedurale Landschaft. Wer hat Lust das Ding hier nach AutoIt zu portieren?

    JavaScript:

    Spoiler anzeigen
    HTML
    <!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

  • AutoIt Versions-Archiv und Diskussionsthread (3.3.8.1 bis 3.3.10.2, Stand 30.12.13)

    • UEZ
    • 28. Dezember 2013 um 22:29

    Leider sieht es so aus, dass alle deine Skripe angepasst werden müssen. Du kannst dich ja direkt im engl. Forum äußern und den Devs deine Meinung sagen. Ich habe keine Lust den Durchlauferhitzer zu spielen.

    Minx hat es auch getan... :pinch:

    Gruß aus Berlin,
    UEZ

  • AutoIt Versions-Archiv und Diskussionsthread (3.3.8.1 bis 3.3.10.2, Stand 30.12.13)

    • UEZ
    • 26. Dezember 2013 um 21:48

    In der Hilfe steht bei mir die richtige Beschreibung:

    Code
    $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
    Code
    $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

  • AutoIt Versions-Archiv und Diskussionsthread (3.3.8.1 bis 3.3.10.2, Stand 30.12.13)

    • UEZ
    • 26. Dezember 2013 um 21:02

    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

  • AutoIt Versions-Archiv und Diskussionsthread (3.3.8.1 bis 3.3.10.2, Stand 30.12.13)

    • UEZ
    • 26. Dezember 2013 um 15:09

    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

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™