-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
18. Jul 2005
Die Routine läuft wunderbar!
Einziges Problem: Um den Bildausschnitt übers netzwerk zu versenden, möchte ich es gerne als jpg (oder sonst was komprimiert) verschicken.
Da man (denke ich zumindest) Tbitmap32 nicht direkt in Tjpg umwandeln kann, habe ich mir den umweg über Tbitmap ausgesucht:
(Nach der Vergleichroutine, varriablen so wie zuvor)
bitmap1:=tbitmap.Create;
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
18. Jul 2005
Danke leute, ihr seid echt super! Teste direkt mal bmpcomp....habs mir gerade runtergeladen. Hab bei mir jetzt noch zusätzlich eingebaut, dass das Bild gerastert gescannt wird, d.h. dass ich den bildschirm in n*n große abschnitte einteile. Das ist aus dem Grund praktisch, weil ich inetwa das erreichen will, was VNC macht...ne art remote desktop. Hierfür müssen möglichst schnell...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
17. Jul 2005
Danke für die ganze Mühe Scp! Es ist in der Tat wie ich vermutet habe...Deine Kompilation läuft ohne Probleme, 100 Prozentig inordnung (THX!!!), aber wenn ich das Projekt kompiliere, treten wieder die selben fehler auf. Scheinbar kann D6 nicht so gut mit gr32... i don't know...schade...mal schauen, was ich jetzt mache! :(
Danke erstmal! :hello:
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
17. Jul 2005
Ja, genau bei denen! Ich kanns lad nochmal 2 beispiele hoch, wie bei mir bild3 aussieht...vielleicht sollte ich versuchen g32 neu zu installieren oder so was...
Benutze immoment folgende Version von g32:
Graphics32 v1.7.1 - Build on 25-Februar-2005
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
17. Jul 2005
Ja, danke, aber das löst ja das Problem nicht...ich habe jetzt mal nachgeschaut:
Wenn das Programm den Fehler bei mir macht, also an der stelle zwei unterschiedliche Pixel auf bild1 und bild2 erkennt, obwohl diese gleich sind und man für die stelle die rgb werte ausgibt, geschieht folgendes:
Bild1: r:232g:219b:210(oder sonst was)
Bild2: r:232g:0 b:0
Allerseits an der Stelle...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
17. Jul 2005
Hi Scp!
Ich weiß auch, dass jpgs ne ungenauigkeit beim komprimieren bekommen. Hier hab ich ALLES (inkl. meiner Testbilder) mal gezippt...probierts mal aus. Es liefert oft das richtige ergebnis (genau den ausschnitt, der fehlerhaft ist) aber auch ab und zu einen zu großen oder falschen ausschnitt...
Danke für den Tipp mit dem JPG, aber könntest du dir das trotzdem mal anschauen, Scp? Das...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
17. Jul 2005
Also ich hab jetzt Jans Idee verwendet, ist zwar bei meiner alten Kiste nicht viel schneller (immernoch so 2 Sekunden) aber ich sehe ein, dass das die beste Lösung ist für das Problem ;-) Danke@Jan und die anderen!
Aber: *g* Das alte Problem besteht weiter, schaut mal hier. Ich habe zwei Bilder angehängt, die das Programm als Bild3.bmp ausgibt. Es werden von der g32 Lib Pixel mit gleichen...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
17. Jul 2005
Ok, ich hatte das Break überlesen, Jan hat recht, sorry! Ich werde natürlich die Routine benutzten, die ist dann echt klasse.. :P tut mir leid...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
17. Jul 2005
Hier, hab das Programm mal angehängt. Probiers mal aus. Also wie gesagt, habe bei mir 2 Screenshots mit "PrintScreen"-Taste gemacht, dann in Paint als 24Bit BMP abgespeichert, dann ein weißes Feld gemacht und erneut als anderes 24bit bmp abgespeichert. Manchmal erkennt das Programm das weiße Feld korrekt, manchmal werden aber unterschiede erkannt, obwohl es keine unterschiede gibt...tritt das bei...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
17. Jul 2005
@Jan: Ok, das sehe ich ein. Aber mein Problem ist ja, dass das ganze durch die canvas.pixels routine verlangsamt wird, weil die - delphiintern nunmal eine sehr lange zugriffszeit auf das einzelne Pixel hat. Die Pixels Funktion ist also der Flaschenhals. Und korrigiere mich, wenn ich falsch liege, du gehst mit der Pixels Funktion ALLE Pixel exakt 2 mal durch, meine Routine aber nur einmal. Sie...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
16. Jul 2005
Folgendes: Ich habe einen Screenshot von meinem Desktop gemacht, abgespeichert als Bild1.bmp
Dann habe ich in dieses Bild mit Paint ein weißes rechteck "reingemalt" und das als Bild2.bmp abgespeichert.
Wenn ich die Delphi-routine benutzte, also mit bild.canvas.pixels arbeite, um den unterschied zwischen beiden Bildern herauszufinden, so wird in Bild3.bmp genau mein manipuliertes weißes...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
16. Jul 2005
Hi@all!
Also erstmal danke für die ganzen antworten!
@Jan: Ich verstehe nicht, warum deine Routine schneller gehen soll...du geht doch per pixels anweisung das ganzen Bild 2 mal durch, dadurch müsste es doch auch im endeffekt doppeltsolange dauern.
Ich benutzte nun die g32 lib. die funktion ist super, dauert inetwa noch so 3 sekunden, allerdings folgendes problem: Es wird nicht mehr der...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
16. Jul 2005
danke für die super schnelle antwort, werde jetzt die g32 lib testen! thx!!!!
-
Forum: Object-Pascal / Delphi-Language
Delphi
by alleinherrscher,
16. Jul 2005
Hi, hab dieses Forum schon durchsucht, allerdings keinen wirklich passenden Thread gefunden. Einfaches Problem: Ich lade zwei gleich große bilder in eine canvas, und vergleiche Sie. Der unterschied (nur das Rechteck zwischen kleinsten unterschiedlichem Punkt und größtem unterschiedlichen punkt) wird in bild3 gespeichert. Allerdings braucht mein Rechner dafür ca. 10 sekunden, was mir zu lange ist....