Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Kann ich mit einem Applet ein Bild von einer anderen HP darstellen, ohne es zu signieren? Bzw. kann ich das Bild (wechselt regelmäßig) irgendwie in eine HTML Seite auf meinen Server einbinden und diese Seite dann von meinem Applet aus aufrufen?
URL imgURL = new URL(pfadZumBild);
MediaTracker tracker = new MediaTracker(this); // Nötig da der Thread einfach weiterläuft ohne auf das Bild zu warten!
Image img = getImage(imgURL);
tracker.addImage(img,0);
try
{
tracker.waitForAll();
}catch(InterruptedException ix){}
Paint
Code:
g.drawImage(img,...);
Man kann den Tracker weglassen, wenn man das Bild in der paint() laden lässt, denn die wartet selbst (zumindestens beim Start des Applets).
Du kannst auch alle Bilder der Gallerie vorladen, in ein Image[] setzen und die einzelnen Bilder nach der Reihe aufrufen.
Danke, aber signieren will ich eigentlich net. Es ist nur ne Bildergallerie und dafür signieren? Manchmal kotzen mich die extremen Einschränkungen des Sandkastens shcon extrem an :? :bloed: . Kann ich einen Bestimmten ausschnitt einer HTML Seite als Image abspeichern? Dann könnt ich das Bild ja auf ne HTML-Seite laden und von da aus dann das Bild in mein Applet laden. Geht das?
Also, das so jemand über Sicherheit redet habe ich noch nie gehört... <Ironie>Am besten man schränkt Applets gar nicht mehr ein, damit man im Zweifelsfall fehlende Dateien auf dem System nachinstallieren kann und wenn das auch nicht funktioniert einfach die Festplatte formatieren kann.</Ironie>
Du kannst dein Problem mit JavaScript oder mit Programmen, die auf dem Server laufen, lösen. (Wenn Du nicht signieren willst)
Ich weiß ja net wies dir geht, aber mir ist der Sandkasten schon einige male auf die Füße getreten! Natürlich ist der Sandkasten gut, aber in manchen Situationen ist er auch ein bisschen "zu streng".
Ich weiß ja net wies dir geht, aber mir ist der Sandkasten schon einige male auf die Füße getreten! Natürlich ist der Sandkasten gut, aber in manchen Situationen ist er auch ein bisschen "zu streng".
Nein! Du kannst dein Applet signieren, wenn der User dem Zertifikat vertraut sind die gewollten Rechte vorhanden. Ich erkenne hier keine übermässige Strenge...
Wenn ich ein User wäre, der keine Ahnung hätte und mir einfach nur ne Bildergallerie anschauen will und dafür zustimmen muss, dass ich jemanden vertraue, würd ich das ganz ehrlich lassen. Aber back to Topic! Kann ich das irgendwie mit html (oder anders) umgehen?
1.) Du kannst die Bilder auf "deinem" Server speichern
2.) Du schreibst Dir eine Server-Komponente, welche Dir das Bild laden kann (z.B. mit PHP)
3.) Du kannst das mit JavaScript realisieren
Also php und JavaScript kann ich net :cry: . Kann ich sowas wie ein dynamisches jpg erstellen? Ich habe nämlich einen Link zu einer HP, auf der sich jeden Tag das Bild ändert. Also müsste ich unter normalen umständen jeden Tag das Bild auf meiner HP ändern! Geht das irgendwie dynamisch? Das wäre nämlich die Lösung :meld:
Wenn das Bild auf der anderen Seite immer gleich heißt, musst du gar nix machen. Auf jeden Fall solltest du aber um Erlaubnis fragen. Verletzung von Urheberrechten kann sehr schnell und sehr unerwartet sehr teuer werden.
Noch ne kurze Zwischenfrage. Ich kann wirklich nen Image eine *.html Datei zuweisen? Muss ich dabei irgendwas beachten? Kanns grad momentan net selbst austesten, deswegen ist meine Frage so allgemein gehalten.
Um das Thema nochmal aufzugreifen ... Ich wollt das Bild net einfach nur auf meiner HP (das hätt sogar ich mit meinen verkümmerten html-Kenntnissen gepackt :wink: :### ), sondern irgendwie auf meinem Space, so dass mein Applet das Bild darstellen kann! Ich glaub da habt ihr was missverstanden oder ich hab mich unklar ausgedrückt. Oder bin ich zu blöd mir das Bild aus ner html-Seite zu holen ???:L ? Auch wenn keiner mehr ne Idee hat, wie ich das machen kann, würd ich trotzdem gern aufgeklärt werden :bahnhof: . Thx
Hab jetzt so ne Art ansatz! Und zwar könnte ich theoretisch das Bild ja in ner html-Seite auf meinem Server mit nem img-Tag darstellen. Dann könnte ich über ein JEditorPane diese Seite (besteht ja nur aus dem einen Bild) darstellen. Beispiel:
Code:
import java.awt.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
public class jedit extends JApplet {
JEditorPane html = new JEditorPane();
public jedit() {
html.setEditable(false);
try {
URL url = new URL(blabla);
html.setPage(url);
html.getPage();
}
catch (IOException e) {
System.out.println(e);
}
add(html);
}
}
davon könnte ich mir dann auch ein Graphics-Objekt erstellen
Code:
html.getGraphics() // oder so ähnlich, hab das nicht mehr ganz im Kopf
Nur wie bekomme ich dann Graphics in ein Image? Oder muss ich gar nicht den Umweg über Graphics gehen?
Oder bin ich zu blöd mir das Bild aus ner html-Seite zu holen ???:L ? Auch wenn keiner mehr ne Idee hat, wie ich das machen kann, würd ich trotzdem gern aufgeklärt werden :bahnhof: . Thx
Oder bin ich zu blöd mir das Bild aus ner html-Seite zu holen ???:L ? Auch wenn keiner mehr ne Idee hat, wie ich das machen kann, würd ich trotzdem gern aufgeklärt werden :bahnhof: . Thx
Und nachdem sich das Bild täglich ändert dürf ich dann jeden Tag auf die Seite, mir das Bildraussuchen, speichern, mein FTP-Programm starten und auf meinen Space ziehen :? ...
Also wenn ich das jetzt richtig verfolgt habe (du hast ja immer nur kleine Stückchen von dem geschrieben, was du vor hast) möchtest du alle Bilder, die von einer anderen Webseite veröffentlicht werden, und die sich jeden Tag ändern, sammeln und per Applet in einer Bildergallerie anzeigen?
Das geht so nicht. Weder Applet noch Client haben die Rechte, um Bilder von einer fremden Webseite auf irgendeinen Webspace zu kopieren.
Was du machen kannst ist, eine Applikation zu schreiben, die sich die Bilder der fremden Webseite besorgt und per FTP auf deinen Space schreibt. Ein Applet kann quasi dynamisch dann die Bildergallerie zusammenstellen. Dazu genügt nur das Verzeichnis, in dem du die Bilder auf deinem Webserver speicherst.
Also, drück mich in letzter Zeit wohl ein wenig undeutlich aus :wink: . Sorry! Ich versuch mich nochmal deutlich auszudürcken:
Ausgangssituation:
- Ich habe eine Bildergallerie für meine HP programmiert (noch nicht online)
- In dieser Gallerie werden Bilder von meinem Space angezeigt (klappt auch wunderbar)
- Jetzt gibts ne WebSite, die anbietet, dass man jeden Tag ein anderes Bild von ihrer HP auf die eigene Stellen darf, dafür gibt es nur einen Link, da sich das Bild jeden Tag automatisch via php ändert
- Dieses Bild möchte ich jetzt auch gerne in meiner Bildergallerie anzeigen lassen
Ideen dies zu bewerkstelligen:
- Das betreffende Bild vom anderen Server wie gewohnt in das Applet laden => geht natürlich net, wegen der Sandbox
- Das Bild über den img-Tag in html einbinden und dann probieren in ein Image zu laden => bis jetzt kein Erfolg
- Das Bild über den img-Tag in html einbinden und dann die Seite über ein JEditorPane darstellen. Funktioniert wunderbar, jetzt brauch ich die Darstellung nur noch in nem Image. mit getGraphics bekomm ich es in einem Graphics-Objekt, aber wie kann ich daraus jetzt ein Image machen?
Hoff mein Problem ist jetzt klarer. Danke für eure Geduld :wink:
...
JEditorPane html = new JEditorPane();
... // html bekommt die betreffende Seite zugewiesen
Graphics g = html.getGraphics(); // funzt
Image img = g.getGraphics(); // funzt net (Cannot find symbol method getGraphics())
ja! Hab auch in der API irgendwo mal was gefunden, mit dem man den img-Tag einer html-Seite laden kann (glaub sogar gleich als Image), bin da aber net ganz durchgestiegen. War glaub ich irgendwo bei javax.swing.text.html oder so
@ roar
Genau das hat mich auch verwundert. Ich kann ne html-Seite (auf meinem Space) im JEditorPane laden, in der auf nen fremden Server zugegriffen wird, aber das Bild gleich vom anderen Server in mein Applet zu laden geht (anscheinend) nicht. ???:L
So, hab jetzt ne möglichkeit gefunden um die Homepage in ein Image zu speichern, nur wird dabei das Bild anscheinend ignoriert ???:L . Egal ob es auf dem eigenen Server liegt oder nicht. Es wird auch keine Exception geworfen. Jetzt jemand ne Idee? Hier ein Beispielcode:
Code:
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
public class jedit extends JApplet {
draw d = new draw();
int i = 0;
public jedit() {
d.img = new BufferedImage(640, 377, BufferedImage.TYPE_INT_RGB);
d.html.setEditable(false);
try {
final URL url = new URL("page");
d.html.setPage(url);
d.html.getPage();
d.html.paint(d.img.createGraphics());
}
catch (Exception e) {
System.out.println(e);
}
add(d);
}
}
class draw extends JPanel {
BufferedImage img;
JEditorPane html = new JEditorPane();
public void paintComponent(Graphics comp) {
Graphics2D comp2D = (Graphics2D)comp;
comp2D.drawImage(img, 0, 0, this);
}
}