| |
|
|
Roberto Neu | Ich möchte circa ein Trackmenu die Funktion "EINFÜGEN" machen das Trackmenu habe ich schon erstellt aber ich finde den Befehl per EINFÜGEN nicht |
|
|
| |
|
|
|
Nico Madysa | Hallo Roberto!
Ich fürchte, dass du dich etwas genauer ausdrücken musst. Was genau willst du denn einfügen?
Nico |
|
|
| |
|
|
|
Roberto Neu | Ein Bild nach einem Screenshot Da ist das ja in einer Zwischenablage und dann per rechtsklick halt einfügen ^^ |
|
|
| |
|
|
|
Frank Abbing | Schau doch einfach öfter mal in die XProfan-Aiuto: ClipLoadBmp |
|
|
| |
|
|
|
Roberto Neu | Kann man das auch mit Sized Laden ??? |
|
|
| |
|
|
|
Roberto Neu | Ok ich habs fast rausgefunden. Aber ich bekomme das mit den Koordinaten net hin Wer kann mir helfen KompilierenMarkierenSeparierendeclare Name$, text$, titeltext$, text2$, titeltext2$, ende%
WindowTitle "BMPviewer 2 Chrome"
Window 50,20 - 800,600
CreateMenu 100,20
UsePen 0,2,RGB(192,192,192)
RecTangle 200,91 - 600,500
AppendMenu 100,"&Bild Laden"
AppendMenu 101,"&by Roberto Neu"
AppendMenu 102,"&Screenshot"
AppendMenu 103,"&Speichern unter"
AppendMenu 104,"&Beenden"
TrackMenu 672,92
if %MouseKey = 2
CreateMenu
AppendMenu 1,"Einfügen"
TrackMenu %MouseX,%MouseY
Case MenuItem(1) : ClipLoadBMP 201,92-0,0;1
endif
Case @MenuItem(100): Name$ = @LoadFile$("Bilddateien","*.BMP")
While Name$ <> ""
LoadSizedBMP Name$,201,92-397,400;0
WindowTitle "BMPviewer 2 Chrome - [" + Name$ + "]"
WaitMouse
Name$ = @LoadFile$("Bilddateien","*.BMP")
Wend
Case @MenuItem(101) :
Text$ = "BMPviewer 1.0 by Roberto Neu"
Titeltext$ = "Roberto Neu"
Messagebox(Text$,Titeltext$,0)
Case @Menuitem(102) :
Text2$ = "Wenn sie einen Screenshot machen möchten.
Klicken sie auf die Taste PrtSc/Druck.
Gehen sie dan wieder in dieses Programm
Machen sie einen rechtsklick/Einfügen"
Titeltext2$ = "Screenshot"
Messagebox(Text2$,Titeltext2$,0)
Case @MenuItem(103) : SaveBmp "Bild1.BMP",10,10 - 200,140
end
End
|
|
|
| |
|
|
|
Nico Madysa | Das mit den Koordinaten ist doch ganz einfach. Bei allen BMP-Befehlen gibst du die Koordinaten an, die du haben willst. LoadSizedBMP "Test.bmp", X,Y - DX,DY ; 0
X und Y geben die Koordinaten der oberen linken Ecke des Bildes an. 0,0 wäre die obere linke Ecke deines Fensters. DX und DY stehen per die Breite des Bildes. Soll das Bild also das gesamte Fenster einnehmen, dann ist dies hier dein Freund: LoadSizedBMP "Test.bmp", 0,0 - width(%hWnd),height(%hWnd) ; 0 |
|
|
| |
|
|
|
Roberto Neu | Kopiere mal bitte mein Code und mache einen Screenshot. Dann geh in mein Programm mache einen Rechtsklick auf die Bildfläche und dann auf einfügen klicken. Des fügt den Screen immer komisch ein |
|
|
| |
|
|
|
Nico Madysa | Argh! Verzeih mir, doch jetzt haben wir beide das Prädikat "Flitzbiepe" verdient. Der Befehl è ClipLoadBMP -- nichtClipLoadSizedBMP, diesen gibt es nämlich nicht. Daher ist es auch nicht verwunderlich, dass er das Bild in Originalgröße ausgibt. ClipLoadBMP hat nur 3 Parameter, während du 5 angegeben hast. Willst du das Bild aus der Zwischenablage verzerren, dann musst du einen Umweg nehmen.
1. Weg: Über die Speicherbitmap KompilierenMarkierenSeparierenDu erzeugst die Speicherbitmap in der Größe des Bildschirmfotos
MCls %MaxX,%MaxY,RGB(255,255,255)
Du wechselst in die Speicherbitmap
StartPaint -1
Und zeichnest in diese das Bild aus der Zwischenablage
ClipLoadBMP 0,0 ; 0
Dann wechselst du wieder auf dein Hauptfenster
EndPaint
Dann holst du das Bild aus der Zwischenablage
%BMPX und %BMPY sind Breite und Höhe des letzten gezeichneten Bildes
Nach dem Pfeil kommen die Koordinaten, an die du das Bild setzen willst
MCopySizedBMP 0,0 - %BMPX,%BMPY > 201,92-160,120 ; span>
2. Weg: Über das Handle eines Bildes KompilierenMarkierenSeparierenEine Variable deklarieren
declare hPic&
Dann weist du dieser Variablen das Handle zu, das auf ein Bild verweist
Dieses Bild ist aus der Zwischenablage und hier 320x240 Pixel grande
hPic& = Create("hSizedPic",0,"&CLPBMP",320,240,0)
Dann wird das Bild dorthin gezeichnet, wohin du es haben willst
DrawPic hPic&,201,92 ; 0
Brauchst du das Handle eines Bildes nicht mehr, so vergiss nicht
den Speicher mit DeleteObject wieder freizugeben
DeleteObject hPic&
|
|
|
| |
|
|
|
Roberto Neu | Und wie soll ich das jetzt in den Code bekommen?? Bei mir steht immer Befehl Startpaint unbekannt |
|
|
| |
|
|
|
Nico Madysa | Jaa, ich hab mich verschrieben. Der Befehl è StartPaint, nicht StarPaint. Ich habe den Quelltext korrigiert, wenn du ihn an ClipLoadBMPs Stelle setzt, sollte es funktionieren.
Aber bitte nicht nur kopieren, sondern auch verstehen. |
|
|
| |
|
|
|
Roberto Neu | Guck dir das mal an da kommt was ganz komisches raus KompilierenMarkierenSeparierendeclare Name$, text$, titeltext$, text2$, titeltext2$, ende%
WindowTitle "BMPviewer 2 Chrome"
Window 50,20 - 800,600
CreateMenu 100,20
UsePen 0,2,RGB(192,192,192)
RecTangle 200,91 - 600,500
AppendMenu 100,"&Bild Laden"
AppendMenu 101,"&by Roberto Neu"
AppendMenu 102,"&Screenshot"
AppendMenu 103,"&Speichern unter"
AppendMenu 104,"&Beenden"
TrackMenu 672,92
if %MouseKey = 2
CreateMenu
AppendMenu 1,"Einfügen"
TrackMenu %MouseX,%MouseY
Case MenuItem(1) : ClipLoadBMP 201,92-397,400;1
Du erzeugst die Speicherbitmap in der Größe des Bildschirmfotos
MCls %MaxX,%MaxY,RGB(255,255,255)
Du wechselst in die Speicherbitmap
StartPaint -1
Und zeichnest in diese das Bild aus der Zwischenablage
ClipLoadBMP 0,0 ; 0
Dann wechselst du wieder auf dein Hauptfenster
EndPaint
Dann holst du das Bild aus der Zwischenablage
%BMPX und %BMPY sind Breite und Höhe des letzten gezeichneten Bildes
Nach dem Pfeil kommen die Koordinaten, an die du das Bild setzen willst
MCopySizedBMP 0,0 - %BMPX,%BMPY > 201,92-160,120 ; 0
endif
Case @MenuItem(100): Name$ = @LoadFile$("Bilddateien","*.BMP")
While Name$ <> ""
LoadSizedBMP Name$,201,92-397,400;0
WindowTitle "BMPviewer 2 Chrome - [" + Name$ + "]"
WaitMouse
Name$ = @LoadFile$("Bilddateien","*.BMP")
Wend
Case @MenuItem(101) :
Text$ = "BMPviewer 1.0 by Roberto Neu"
Titeltext$ = "Roberto Neu"
Messagebox(Text$,Titeltext$,0)
Case @Menuitem(102) :
Text2$ = "Wenn sie einen Screenshot machen möchten.
Klicken sie auf die Taste PrtSc/Druck.
Gehen sie dan wieder in dieses Programm
Machen sie einen rechtsklick/Einfügen"
Titeltext2$ = "Screenshot"
Messagebox(Text2$,Titeltext2$,0)
Case @MenuItem(103) : SaveBmp "Bild1.BMP",10,10 - 200,140
waitkey
end
ef='./../../references-fonction/xprofan/end/'>End
|
|
|
| |
|
|