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:

Clipboard, Bild reinsetzen mit Stringvariable geht nicht.

 
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: 21.02.2012, 14:16    Titel: Clipboard, Bild reinsetzen mit Stringvariable geht nicht. Antworten mit Zitat

Hallo , ich möchte den Namen des Bildes durch eine Stringvariable ersetzten.
Das funktioniert aber nicht:

hBmp=LoadImage(0,@"bild.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE)

"bild.bmp" möchte ich durch die Stringvariable bildname="bild.bmp" ersetzen.
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 Long hBmp
Dim Shared As String bildname

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 )
optr->pitch = optr->width * 4

bildname="bild.bmp"
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,@"bild.bmp",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


Danke.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 21.02.2012, 15:07    Titel: Antworten mit Zitat

Code:
hBmp=LoadImage(0,StrPtr(bildname),IMAGE_BITMAP,0,0,LR_LOADFROMFILE)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 21.02.2012, 17:41    Titel: Antworten mit Zitat

Jup, danke.


Gruss
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