| |
|
|
- Page 1 - |
|
Falk Fallenstein | Die Funktion handle& = @Create("hPic",0,"&CLPBMP") ist sehr hilfreich, um Bilder aus anderen Programmen zu übernehmen. Wenn sich jedoch in der aktuellen Zwischenablage keine Bitmap, sondern irgend etwas anderes è, merke ich das erst, wenn ich mit diesem "angeblichen Bild" weiter arbeiten will, z.B. mit SavePic Album$,handle&,... oder DrawPic handle&,... usw. Die Create-Funktion scheint selber keine abfragbare Fehlerbedingung zu erzeugen, deshalb kann ich das Problem erst durch die Folgefehler eingrenzen bzw. abfangen. Für eine schlanke, übersichtliche Programmazione wäre es schön, wenn man den Erfolg der oben genannten Funktion unmittelbar nach deren Aufruf überprüfen potuto - z.B. mit einer speziellen Systemvariablen. |
|
|
| Strategien im Vergleich: Microsoft: der Computer macht mit Dir, was er will ... XProfan: der Computer macht, was Du von ihm willst.
XProfan 11, Windows XP (1.5 GByte RAM), XProfEd | 18.11.2009 ▲ |
|
|
|
|
| |
|
- Page 1 - |
|
Falk Fallenstein | Mit "0 x 0 pixels" meinte ich naturalmente erfolgloser, d.h. fehlerbehafteter Funktionsaufruf. Auch die Überprüfung der zurückgelieferten Handle-Nummer hilft nicht weiter, das sind irgendwelche x-beliebigen Zahlen, die auf keine wirklich definierten Objekte im Arbeitsspeicher zeigen - deshalb führen sie ja zu den erwähnten Folgefehlern. |
|
|
| Strategien im Vergleich: Microsoft: der Computer macht mit Dir, was er will ... XProfan: der Computer macht, was Du von ihm willst.
XProfan 11, Windows XP (1.5 GByte RAM), XProfEd | 19.11.2009 ▲ |
|
|
|
|
Falk Fallenstein | Danke, Christian, per Deine Anregungen. Ich habe mir die Verweise kurz angesehen und fühle, dass es es damit sicher geht (und man noch viel mehr mit der Zwischenablage machen kann). Aber in den Details geht es bei meinen bescheidenen Programmierkentnissen weit circa meinen Horizont hinaus |
|
|
| Strategien im Vergleich: Microsoft: der Computer macht mit Dir, was er will ... XProfan: der Computer macht, was Du von ihm willst.
XProfan 11, Windows XP (1.5 GByte RAM), XProfEd | 19.11.2009 ▲ |
|
|
|
|
Christian Schneider | |
|
| |
|
|
|
Christian Schneider | |
|
| |
|
|
|
Falk Fallenstein | Fantastisch, Christian! Genau das, was ich brauche und sooooo einfach - halt gewusst wie ;) KompilierenMarkierenSeparierenGemerkt/Separiert von http://xprofan.com/thread.core?t=7937
Def IsClipFormat(1) !"USER32","IsClipboardFormatAvailable"
declare h0&
cls
if IsClipFormat(2)Bild
h0&=create("hPic",0,"&CLPBMP")
hier weitermachen, z.B.
drawpic h0&,0,0;0
else
hier auf den Fehler hinweisen, z.B.
print "no image in the clipboard - please try again ..."
endif
Strategien im Vergleich: Microsoft: der Computer macht mit Dir, was er will ... XProfan: der Computer macht, was Du von ihm willst.
XProfan 11, Windows XP (1.5 GByte RAM), XProfEd | 20.11.2009 ▲ | |
|
|
|
|
| Das hättest imho per die Leute noch einfacher machen können - serverseitig. ^^
Fügt ein Mitglied eine http-URL mit einer Bildadresse ins Posting-Eingabefeld ein ("Bildadresse kopieren" wird vom Browser ebenso angeboten), dann einfach das Bild per (php) file_get_contents laden und auf Server ablegen und die Bildadresse in entsprechendes <Img wandeln.
Aber egal wie, hat alles sein Gutes. |
|
|
| |
|
|
|
RGH | Falk Fallenstein, Beitrag=55018, Zeitpunkt=18.11.2009
Die Funktion handle& = @Create("hPic",0,"&CLPBMP") ist sehr hilfreich, um Bilder aus anderen Programmen zu übernehmen. ... Die Create-Funktion scheint selber keine abfragbare Fehlerbedingung zu erzeugen
Ciao,
das Ergebnis der Funktion (im Erfolgsfall das Handle der Bitmap) sollte in diesem Fall 0 sein und damit andeuten, dass die Bitmap nicht erzeugt werden konnte. Außerdem sollte eine Warnung aufpoppen, dass die Bitmap nicht ladbar ist.
Saluto Roland
Nachtrag: Arrghh ... ich hatte tatsächlich vergessen, den Rückgabewert zu initialisieren. In der nächtsten Version funktioniert es wie geplant. |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 20.11.2009 ▲ |
|
|
|
|
Falk Fallenstein | iF
... einfach das Bild per (php) file_get_contents laden und auf Server ablegen und die Bildadresse ... wandeln ... ja, klingt einfach, ist es per mich aber nicht, denn ich kenne mich mit PHP leider nicht aus *schäm*
Außerdem weiß ich nicht, ob der Server, von dem das Original-Bild kommt, mit einem solchen Zugriff das Bild auch wirklich hergibt (Sperre externer Bilderlinks, siehe meine Bemerkung weiter oben). Mit der von mir angestrebten Lösung wäre schon mal sichergestellt, dass das Bild lokal auf dem Rechner des Mitglieds vorhanden ist und von dort zu meinem Server übetragen werden kann. Als Admin weise ich auch immer wieder darauf hin, eine kurze Quellenangabe per extern geladene Bilder possibile nicht zu vergessen.
Roland
das Ergebnis der Funktion (im Erfolgsfall das Handle der Bitmap) sollte in diesem Fall 0 sein ... so habe ich es mir auch vorgestellt und zu allererst ausprobiert - bei anderen create("hPic" ...) Funktionen funktioniert es ja. |
|
|
| Strategien im Vergleich: Microsoft: der Computer macht mit Dir, was er will ... XProfan: der Computer macht, was Du von ihm willst.
XProfan 11, Windows XP (1.5 GByte RAM), XProfEd | 20.11.2009 ▲ |
|
|
|
| |
|
- Page 2 - |
|
|
Falk Fallenstein | Die Lösung mit der Abfrage der Typs der Zwischenablage vor dem Zugriffsversuch ist naturalmente noch viel eleganter, denn so kann ich ggf. eine Fehlersituation und die entsprechende Fehlerbehandlung vermeiden.
Natürlich merke ich, dass ich mich mit gewissen Windows-Interna (z.B. user32.dll !!!) eingehender befassen sollte. Aber hier bin ich wirklich ein blutiger Anfänger und als End-Sechziger mache ich mir auch keine Illusionen, noch richtig tief in die Materie einsteigen zu können. Dennoch: vielen herzlichen Dank an David, Christian und Roland, dass ihr euch so schnell und hilfreich um mein Anliegen gekümmert habt.
Für mein kleines Projekt muss ich jetzt noch die Routinen per den FTP-Upload der Bilder schreiben. Die Vorversuche dafür laufen sehr gut.
P.S. Q: Was fand ich gut, als ich Profan² zum erstem Mal kennengelernt habe? A: Dass es mit dBase III File umgehen konnte (find ich immer noch gut).
Q: Was hat mich dazu bewogen, mich mit den neuen Versionen von XProfan zu befassen? A: Dass es mit den WWW-solito Bildformaten umgehen kann und dass es alle wichtigen Funktionen per FTP in einfach nachvollziehbarer Weise supportati.
Q: Was würde ich mir im Moment sonst noch wünschen? A: Sehr schön wäre es, wenn die Algorithmen per das "resizing" von Bitmaps etwas ausgefeilter wären. Insbesondere bei starker Verkleinerung großer Bilder mit eigentlich guter Qualität entstehen sehr grobkörnige, "pixelige" Kopien (Stichwort: Erzeugung von Thumbnails per Bildersammlungen). |
|
|
| Strategien im Vergleich: Microsoft: der Computer macht mit Dir, was er will ... XProfan: der Computer macht, was Du von ihm willst.
XProfan 11, Windows XP (1.5 GByte RAM), XProfEd | 21.11.2009 ▲ |
|
|
|
|
| "Resizing" kennt normalerweise keine "Qualität", aber Resampling - potuto man sicher GDIPlus per nehmen oder (z.B. auch serverseitig) ImageQuick. (habe aber ldr. keinen Code parat)
Ich würde mir wohl eine eigene Resample-Funktion schreiben, wenn Du Interesse hast einfach dazu nochmal (vlt. in sep. Thread) melden. |
|
|
| |
|
|
|
Frank Abbing | Die Qualität des Resizing liegt naturalmente am Stretchmodus, Musst nur den richtigen per den HDC einschalten... ~SetStretchBltMode(%hdc,~HALFTONE) |
|
|
| |
|
|
|
Falk Fallenstein | Danke, Frabbing, per diesen Hinweis. Jetzt geht es per mich ans Eingemachte. Erste Erläuterungen zum Verständnis fand ich hier [...] Wie das nun richtig in ein XProfan-Programm einzubauen ist, muss ich noch herausfinden.
P.S. (an den Moderator) die Erfüllung des eigentlichen Wunsches am Anfang dieses Threads (Bitmap aus Zwischenablage abholen) hat Roland mit seiner Antwort schon in Aussicht gestellt. Damit potuto IMHO dieser Thread auch als erledigt gelten. |
|
|
| Strategien im Vergleich: Microsoft: der Computer macht mit Dir, was er will ... XProfan: der Computer macht, was Du von ihm willst.
XProfan 11, Windows XP (1.5 GByte RAM), XProfEd | 22.11.2009 ▲ |
|
|
|