Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Sprite in das Clipboard laden

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 01.12.2013, 22:08    Titel: Sprite in das Clipboard laden Antworten mit Zitat

Hallo, guten Tag.
Ich möchte bitte ein Sprite, welches mit Imagecreate erstellt wurde in das Clipboard übertragen.
Mit einem BMP laden geht es , aber wie mit einem Image?
Was muss jetzt hier für rein :
StrPtr(bildname)
bzw wie muss jetzt diese Befehlszeile aussehen:
hBmp=LoadImage(0,StrPtr(bildname),IMAGE_BITMAP,0,0,LR_LOADFROMFILE)

Danke.
Gruss

Code:

#include "fbgfx.bi"
#Include "windows.bi"

declare Function get_clip() As Integer
declare Function set_clip() As Integer

Dim Shared As BITMAPINFO BitmapInfo
Dim Shared As HDC display_dc     
Dim Shared As HDC bitmap_dc     
Dim Shared As HBITMAP bitmap     
Dim Shared As HGDIOBJ null_bitmap
Dim Shared As fb.image Ptr optr
Dim Shared As fb.image Ptr sprite
Dim Shared As Long hBmp
Dim Shared As String bildname ,ordner

Const w = 64
Const h = 64

With BitmapInfo.bmiHeader
   .biSize     = SizeOf(BITMAPINFOHEADER)
   .biWidth    = w
   .biHeight   = -h
   .biPlanes   = 1
   .biBitCount = 32
End With

display_dc  = GetDC( Null )
bitmap_dc   = CreateCompatibleDC( display_dc )
bitmap      = CreateCompatibleBitmap( display_dc, w, h )
null_bitmap = SelectObject( bitmap_dc, bitmap )

Screen 18,32

optr = ImageCreate( w, h )
sprite=ImageCreate(w,h)

Circle sprite,(32,32),28,RGB(255,0,0)

set_clip()

bitmap = get_clip()
getdibits( bitmap_dc, bitmap, 0, h, optr + 1, @BitmapInfo, DIB_RGB_COLORS )

Put(50, 50), optr
Put(150, 50), optr,Trans

Sleep

ImageDestroy(optr)
SelectObject( bitmap_dc, null_bitmap )
DeleteDC( display_dc )
DeleteDC( bitmap_dc )
DeleteObject( bitmap )

end

Function set_clip() As Integer     
   hBmp=LoadImage(0,StrPtr(bildname),IMAGE_BITMAP,0,0,LR_LOADFROMFILE)
   OpenClipboard(0)
   EmptyClipboard()
   SetClipboardData(CF_BITMAP,CopyImage(hBmp,IMAGE_BITMAP,0,0,LR_COPYRETURNORG))
   CloseClipboard()
   Return -1
End Function

Function get_clip() As Integer
   Dim hBmp As Long
   If IsClipboardFormatAvailable(CF_BITMAP) = 0 Then Exit Function
   If OpenClipboard(0) = 0 Then Exit Function
   Function = GetClipboardData(CF_BITMAP)
   CloseClipboard
End Function
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz