![]() |
DROP Image Url vom Browser
Morgen zusammen :)
ich hab mitlerweile ne stunde gesucht und bin nicht fündig geworden, und das bei der Masse an Drag & Drop Themen, die es hier gibt. ok zu meinem problem: ich wollte mir gern eine eigene Komponente schreiben, in der man ein Image aus dem Web (Firefox IE etc) auf ein Timage zieht. Das klappt auch schon wunderbar mit einem Panel dessen handle ich nehme und ein Timage darauf plaziere. Nun möchte ich aber auch gerne die Online URL des Bildes in einem Edit anzeigen. Leider gibt mir die Funktion nur den temporären Pfad des bildes aus :/ hier die Drop funktion
Delphi-Quellcode:
habt ihr eine Idee wie man die Url des Webbildes herausbekommt ?
procedure TDropPanel.FWM_DropFiles(var Msg: TMessage);
var i, anzahl, size: integer; Dateiname: String; antwort: Integer; begin inherited; Dateiname := ''; anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0); for i := 0 to (anzahl - 1) do begin size := DragQueryFile(Msg.WParam, i , nil, 0) + 1; SetLength(Dateiname, size); SetLength(Dateiname, DragQueryFile(Msg.WParam,i , @Dateiname[1], size)); //hier dein source - in "Dateiname" ist der name des droped objectes getPicture(dateiname,targetimage); end; end; |
AW: DROP Image Url vom Browser
|
AW: DROP Image Url vom Browser
VIELEN DANK!
deine Testprog erzielt den gewünschten effekt! Werd es mir mal genauer anschaun und in die komponente integrieren =) |
AW: DROP Image Url vom Browser
Ich bräuchte nochmal ein wenig Hilfe.
ich habe eine Komponente die vom Tpanel abgeleitet ist. dieser habe ich noch ein TargetEdit,TargetListbox und TargetImage hinzugefügt. wenn man nun etwas aufs Panel Droppt, füllt er das jeweilige control mit string oder zeigt das bild an. Dass passiert mit der WM_DROPFILES funktion. nun möchte ich allerdings diese ![]() in die komponente mit einbeziehen, damit ich bei Drop statt die tempURL die OnlineURL des bildes in die controles schreiben kann. Wie realisier ich das ganze ?! hab schon etliche probelaufe durch und mir ist das ganze komponenten schreiben recht neu. Wäre für jede hilfe dankbar ! |
AW: DROP Image Url vom Browser
Verwende einfach "The Drag and Drop Component Suite for Delphi":
![]() |
AW: DROP Image Url vom Browser
die hab ich bereits installiert.
Allerdings habe ich es dort auch nicht geschafft bei einem einzigen Image drop aus dem explorer die URL in einem bestimmten Edit anzeigen zu lassen und gleichzeitig das image in ein TImage zu setzten. es funktioniert nur wenn man die Quelle genau über das Edit für die URL zum beispiel droppt, oder über dem Timage bzw dem drunterliegendem Panel für das Image. Aber nicht Beides Gleichzeitig! Wenn du dafür ne Lösung parat hast nehme ich die auch gerne =) |
AW: DROP Image Url vom Browser
Habe schon lange nichts mehr damit gemacht. Aber den Komponenten lag eine ziemlich gute Demo bei in der man auch ein Bild aus dem Browser in ein ImageDrop-Feld ziehen konnte. Es geht also 100%ig. Schau's dir mal an ;-) Ich habe mich damals für diese Komponenten entschieden weil es die einzigen sind die von Win XP - Win 7 funktioniert haben.
|
AW: DROP Image Url vom Browser
hmm... aber in der demo wars auch so dass man entweder auf dem Edit oder auf dem Image droppen konnte, werds mir aber nochmal anschaun!
ich möchte ja mit einem drop beides angezeigt bekommen! EDIT: stimmt dort ist noch ne super demo drin die ich wohl übersehen habe! -> DETAILED DEMO daran werde ich das wohl zusammenbasteln können =) Vielen Dank an Euch beide ! |
AW: DROP Image Url vom Browser
so ganz klappts irgendwie nicht.
denn URL TargetDrop nimmt wenn das bild nicht verlinkt ist die URL des bildes. Falls es jedoch verlinkt ist, zeigt es die Verlinkung des Bildes im label an. Downloadbild lädt die url nur in einen stream und zeigt sie dann im Image an. Wie bekomme ich denn nun immer bei einem BilderDrop.... 1.das Bild an sich im Image 2.die Bild Url 3.die verlinkte URL des bildes
Delphi-Quellcode:
procedure TForm1.DropURLTarget1Drop(Sender: TObject; ShiftState: TShiftState;
APoint: TPoint; var Effect: Integer); begin // An URL has been dropped - Copy the URL and title from the drop target. PanelURL.Caption := DropURLTarget1.Title; LabelURL.Caption := DropURLTarget1.URL; DownloadBild(DropURLTarget1.URL,ImageTarget); end; |
AW: DROP Image Url vom Browser
Wenn du die Url zu dem Bild "gedroped" hast, kannst du das Bild doch einfach nachträglich von dieser Url laden und anzeigen!
Edit: Wie die von mir oben gepostete Komponente allerdings mit Win 7 funktioniert weiß ich nicht.... |
AW: DROP Image Url vom Browser
vielleicht hab ich mich ein wenig missverständlich ausgedrückt.
angenommen ich habe 2 Bilder auf einer Website Bild_1.jpeg und Bild_2.jpeg Bild_1 besitzt per HTML die verlinkung auf ![]() Bild_2 hat keine Bildverlinkung beide bilder sind auf dem Server unter ![]() gespeichert. möchte ich nun bild_2 droppen, gibt er mir die url: ![]() bei bild_1 gibt er mir leider die url: ![]() ich möchte aber gerne immer beide Adresse haben. Einmal Grafikadresse und einmal URL adresse. Das bild anzeigen kann ich aufjedenfall da es mit der Drop-Komponente unterschiedliche prozeduren sind. hat da jemand eine idee wie ich also GrafikURL und VerlinkungsURL bekomme ? |
AW: DROP Image Url vom Browser
Hast du die MultiDropTarget-Komponente schon versucht? Dort bekommst du alles (Bilder, Links, Text, ...).
|
AW: DROP Image Url vom Browser
ne noch nicht,
ich kann sie allerdings nicht finden bei dieser KomponentenSuite ![]() welche meinst du denn genau ? |
AW: DROP Image Url vom Browser
Zitat:
Zitat:
|
AW: DROP Image Url vom Browser
:wall: vielen dank, war kurz vor feierabend und habs leider übersehen.
allerdings führt diese kompo zu den gleichen ergebnissen. in der Demo der komponente erscheint TEXT,FILES,BITMAP,URL und leider wird unter FILES die temporäre url des bildes wiedergegeben unter TEXT und URL entweder die des bildes oder die der Bildverlinkung aber in beiden immer die gleiche. hat noch jemand eine idee ? EDIT: btw @lbccaleb deine gepostete kompo läuft doch einwandfrei unter win7 ;) |
AW: DROP Image Url vom Browser
Hallo,
Zitat:
![]() Ich habe z.B. eine ASP.NET MVC Anwendung die sich die Bilder von ![]() Das funktioniert in etwa so:
Code:
Lässt Du Dir nun die URL des Bilden anzeigen, wirst Du immer nur die Adresse meiner Seite sehen z.B.
HttpWebRequest iReq = (HttpWebRequest)WebRequest.Create(@"http://s3.amazonaws.com/?x=1&y=2&z=3&img=1234");
WebResponse iResp = iReq.GetResponse(); Stream iFile = iResp.GetResponseStream(); Response.ClearHeaders(); Response.Clear(); return File(iFile, "image/png"); ![]() Ich weiß zwar nicht wie sich das mit der D&D Kompo verhält, jedoch denke ich, das dieser Ansatz dein Problem beschreibt. Axel |
AW: DROP Image Url vom Browser
hmm es herscht anscheinend ein gravierender unterschied mit welchem Browser ich die bilder droppe.
Bei der melander komponenten suite kann man zumindest aus dem Firefox immer Bilder auf ein TImage droppen, bei IE dagegen nur wenn sie nicht verlinkt sind. In der ComboTagetDemo werden die Bilder vom IE, die verlinkt sind gar nciht erst angezeigt sondern nur die verlinkung :( Mit der Ole Funktion von lbccaleb wird leider auch entweder die verlinkung mit .html oder wenn nicht verlinkt die bildURL ausgegeben, genau wie bei der Komponente Suite. @axellang Zitat:
HTTP bildURL vom gedropten bild und falls verlinkt bildverlinkung mit .html zum beispiel ;/ ich werd mal ein wenig nach Clipboardfunktionen suchen und schauen obs da nicht nen weg gibt, wie man beides bekommt. es muss doch irgendwie gehen ^^ EDIT: Das Problem mit dem IE8 ist ein Bug vom InternetExplorer laut einem Beitrag vom MelanderBlog btw. wird beim Drag&Drop aus dem IE nichts in die Zwischenablage kopiert ??? ich habe mir den Clipboard Explorer angeschaut und beim Drag tut sich nichts in der Zwischenablage :shock: |
AW: DROP Image Url vom Browser
Eventuell wirst du das einwenig anders handeln müssen. Vllt die Seite in einem TWebbrowser laden, und dir die Links zu den Bildern von dort beschaffen.
Wie man die Links von einer Seite extrahiert kann man hier im Forum ein paar Bsp. zu finden. Vllt kommst du so an deine Lösung. |
AW: DROP Image Url vom Browser
Das wäre leider zu umständlich für den User, denn er dürfte dann nur mit dem Programminternen Browser Bilder aussuchen.
es sollte schon möglich sein direkt aus dem externen Browser alles zu bekommen. Momentan hab ich eine lösung ohne Dropdown zu kosten der Bedienerfreundlichkeit :( |
AW: DROP Image Url vom Browser
Um was für eine Lösung handelt es sich da?? Vllt kann man das irgendwie erweitern oder so??!!
|
AW: DROP Image Url vom Browser
naja im moment gibt es halt 2 Edit felder zur eintragung einer Grafik und einer Verlinkung.
Mein Programm ist ein NewsletterVersandtool mit integriertem Newslettergenerator. Und schön wärs für meinen Chef wenn mans einfach droppen könnte =) |
AW: DROP Image Url vom Browser
Hallo,
Zitat:
Ich mache es deshalb, damit der User den ApiKey (Anmeldedaten des Kunden) nicht sehen und die Bilder nicht verlinken kann. Das war die Anforderung des Kunden. Das Bild wird in der HTML Seite einfach als
Code:
eingebunden.
<img src="/img/show?1234" />
Verlinkt der User nun das Bild, kann er es nur solange sehen, wie seine Session gültig ist. Schließt dieser den Browser, und versuch sich das Bild anzuzeigen z.B. auf seiner Webseite, dann Sieht er nur ein Copyright Bild. Die Bilder befinden sich nicht auf irgendeiner Platte, im übertragenen Sinne, sondern kommen aus der Datenbank! Das einzige Bild was auf der Platte ist, ist das Copyright Bild. Aber dies wird ebenfalls als Stream an den Browser gesendet, so das auch da der User nur
Code:
sieht und nicht
<src="/img/show?1234" />
Code:
Letztendlich ist es egal ob die Bilder, so wie in meinem Beispiel, aus der DB kommen oder auf von einem anderen Server von dessen Platte, sobald ich es als Stream an den Client sende hat dieser keine Chance den tatsächlichen Pfad des Bildes herauszufinden. Bestes Beispiel dafür sind Captchas.
<src="http://example.com/img/image.png />
Axel |
AW: DROP Image Url vom Browser
ist ja ne schöne Methode um vom user unbefugtes verlinken zu unterbinden, aber geht leider komplett an meiner Fragestellung vorbei ;)
1. möchte ich VOM Browser in meine Anwendung droppen 2. sollte die GrafikURL in ein Edit eingetragen werden -> BSP( ![]() 3. sollte falls ein Link auf dem Bild liegt, dass gedroppt werden soll, ebenfalls in ein Edit eingetragen werden -> BSP ( ![]() Also benötige ich vielleicht die anderen ClipboardFormate in denen die relevanten Strings beim Draggen vom FireFox & InternetExplorer geschrieben werden. Leider funktionen alle bisherigen Methoden nicht so wie gewünscht. Es wird entweder die GrafikURL gedroppt ODER der Link der auf der Grafik liegt! Aber NIE beides! Nicht mit der OLE funktion und nicht mit der Schönen Dropp Komponente :/ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz