Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 128
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 186
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 69, Antworten: 6
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08.09.2009, 21:09   #1 (Direktlink)
Ist öfter hier
 
Benutzerbild von Hallo1001
 
Registriert seit: 20.02.2009
Alter: 39
Beiträge: 71
Standard Bild in den Speicher kopieren

Hallo alle Miteinander!

Ich habe mal wieder ein kleines Problem und es ist mal wieder keine Lösung in Sicht…
Ich möchte ein Bild in den Speicher laden und anschließend einen Text darüber schreiben. Bisher mache ich das mit „MLoadBmp“ und das funktioniert auch wunderbar. Das Bild soll später in ein „PicButton“ eingesetzt werden und damit fangen die Probleme an. Der „PicButton“ hat nicht immer exakt die gleiche Größe, denn die Größe soll Fensterabhängig sein. Lade ich jetzt mit „MLoadBmp“ ein größeres Bild in den Speicher, dann wird später nur ein Teil des Bildes angezeigt. Und lade ich ein kleineres Bild in den Speicher, dann bedeckt das Bild nicht den gesamten „PicButton“. Optimal währe hier ein Befehl wie: „MLoadSizedBmp“, aber leider gibt es den Befehl nicht…
Daher meine Frage: Wie bekomme ich ein Bild mit einer Größe X in den Speicher mit Größe Y??? Har hier vielleicht jemand eine Idee?

Danke im Voraus…
LG Jens
Hallo1001 ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 08.09.2009, 22:40   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Ich hab einen älteren Code mit Static mal etwas umgestellt, dass er mit Buttons funktioniert. Geht heute sicher eleganter, geht aber.

Code:
'
' © Frank Abbing
' für http://www.paules-pc-forum.de/forum/xprofan/
'
Declare pseudobitmap&,bitmap&,butt&,x&,y&

Def SelectObject(2) !"GDI32","SelectObject"
Def CreateCompatibleBitmap(3) !"GDI32","CreateCompatibleBitmap"
Def GetSysColor(1) !"USER32","GetSysColor"

Window %maxx,0-800,600
Cls GetSysColor(15)

' Grösse des Buttons
'
x&=320
y&=30

MCls %maxx,%maxy

Startpaint -1

  ' Name des Bilds
  '
  DrawSizedPic "Background.bmp", 0, 0 - x&, y&; 0

  TextColor 0,-1
  DrawText 0,0,"Hier steht ein Text."
  
  ' Pseudobitmap erstellen. BM_SETIMAGE funktioniert nur mit Bitmaps, die keinem HDC zugeordnet sind.
  '
  pseudobitmap&=CreateCompatibleBitmap(%hdc,16,16)

  ' Pseudobitmap unserem HDC zuordnen
  ' Als Ergebnis bekommen wir unsere losgelöste Bitmap zurück !
  '
  bitmap&=SelectObject(%hdc,pseudobitmap&)

EndPaint

' Unsichtbaren Button erstellen
'
butt&=Control("BUTTON", "Butt01", $54010580, 80, 80, 0, 0, %hwnd, 2000, %hInstance, $00000000)


' Bitmap dem Static zuordnen
'
Sendmessage(butt&,$F7,0,bitmap&)  'BM_SETIMAGE

' Fenster und Static sichtbar machen
'
SetWindowPos butt&=40,50-x&,y&
ShowWindow(butt&,1)
SetWindowPos %hwnd=0,0-800,600

While 1

  WaitInput
  Case %key=2:Break

Endwhile

' - Button zerstören, damit die Bitmap wieder frei wird
' - Bitmap löschen
'
DestroyWindow(butt&)
DeleteObject bitmap&

End
Sowas hast du doch sicher gemeint?
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.

Geändert von Frabbing (09.09.2009 um 06:23 Uhr)
Frabbing ist offline   Mit Zitat antworten
Alt 08.09.2009, 23:48   #3 (Direktlink)
Ist öfter hier
 
Benutzerbild von Hallo1001
 
Registriert seit: 20.02.2009
Alter: 39
Beiträge: 71
Standard

Hallo Frank!

Danke für den Code, den werde ich mir Morgen einmal sehr genau anschauen. Da stehen so viele schöne Anweisungen drin die ich nicht verstehe, hoffentlich geht das auch gut... Ich melde mich dann morgen wieder...

LG Jens
Hallo1001 ist offline   Mit Zitat antworten
Alt 09.09.2009, 14:05   #4 (Direktlink)
Ist öfter hier
 
Benutzerbild von Hallo1001
 
Registriert seit: 20.02.2009
Alter: 39
Beiträge: 71
Standard

Hallo Frank,

inspiriert durch Deinen Code habe ich mir Heute den „MLoadSizedBmp“ Befehl selber erstellt. Es funktioniert jetzt alles wie gewollt und ich brauche in meinem Progi nur noch den Befehl „MLoadBmp“ gegen die Routine „MLoadSizedBmp“ austauschen – fertig...

Code:
Window 50,50-300,200                ' Fenster erstellen
Var Breite% = 250                   ' Breite Button
Var Höhe% = 80                      ' Höhe Button
Var Bild$ = "C:\\Test.jpg"          ' Testbild Button
 
' Befehl "MLoadSizedBmp"
Proc MLoadSizedBmp
 Parameters Br&,Ho&,Bi$                   ' Breite, Höhe, Bild
 IfNot FileExists(Bi$)                    ' wenn Bild nicht gefunden wird, dann...
    MCLs Br&, Ho&, rgb(255,0,0)           ' Fehler - Speicher-BMP erstellen (rot)
 Else                                     ' wenn Bild gefunden wurde, dann...
    MCLs Br&, Ho&                         ' leere Speicher-BMP anlegen
    StartPaint -1                         ' Grafikbefehle auf Speicher-BMP umschalten
    DrawSizedPic Bi$, 0, 0 - Br&, Ho&; 0  ' Bild in den Speicher laden
    EndPaint                              ' Umleitung beenden
 EndIf
EndProc
 
' Bild laden
MLoadSizedBmp(Breite%,Höhe%,Bild$)  ' Bild "Sized" in den Speicher laden
 
' weiteren Text erstellen
STARTPAINT -1                       ' Grafikbefehle auf Speicher-BMP umschalten
 UseFont "Times New Roman",50,22,1,1,0
 TextColor @RGB(0,0,0),-1
 DrawText 38,11,"Test OK"
 TextColor @RGB(150,255,72),-1
 DrawText 35,12,"Test OK"
EndPaint                            ' Umleitung beenden
 
' Button erstellen
Var Button& = @Create("PicButton",%HWnd,@Create("hPic",0,"&MEMBMP"),20,30,Breite%,Höhe%) ' Button erstellen mit Bild aus Speicher
 
' Endlosschleife
While 1
 WaitInput
 Case %key=2 : Break
 Case Clicked(Button&) : Playsound "SystemHand",1
Endwhile
 
' Ressourcen wieder freigegeben
DeleteObject Button&
End
Und eine kleine Fehlererkennung habe ich auch gleich noch mit eingebaut. Wenn kein Bild gefunden wird, dann wird trotzdem ein Hintergrund (rot) erzeugt, so dass kein Fehler entsteht...



Danke noch einmal für die schnelle Hilfe...
LG Jens
Hallo1001 ist offline   Mit Zitat antworten
Alt 09.09.2009, 17:17   #5 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Na optimal.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fotos - Bild in Bild einfügen Stegge Allgemein 9 23.05.2007 13:52
Fehler im Speicher aber der Speicher ist OK proti_de Hardware - Problemlösungen 0 27.01.2005 08:51
Bild&Faxanzeige und Paint auf Bild& Fax und Fotoprg Paule 60 Windows XP 8 08.12.2004 19:52
Kopieren von HDD zu HDD bieler11 Hardware - Problemlösungen 7 01.06.2004 22:18
Ist ECC Speicher besser als normaler Speicher? wax77 Hardware - Problemlösungen 2 12.06.2002 18:32



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:01 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2