AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien einlesen

Ein Thema von schöni · begonnen am 1. Apr 2012 · letzter Beitrag vom 6. Apr 2012
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#1

AW: Dateien einlesen

  Alt 5. Apr 2012, 11:37
Vermutlich hast Du die originalen Riesenbilder der Webcam benutzt und lediglich die Anzeige gestrecht. Das ist eher kontraproduktiv, besser wäre es, die Bilder zu verkleinern, abzuspeichern und diese Dateien dann zu verwenden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#2

AW: Dateien einlesen

  Alt 6. Apr 2012, 10:05
Vermutlich hast Du die originalen Riesenbilder der Webcam benutzt und lediglich die Anzeige gestrecht. Das ist eher kontraproduktiv, besser wäre es, die Bilder zu verkleinern, abzuspeichern und diese Dateien dann zu verwenden.
Nein, ich hatte Bilder von meiner Digitalkamera verwendet. Aber wenn ich die verkleinere, funktioniert das Überblenden wie gewünscht.

Interessanterweise funktioniert das Programm mit D7 Personal übersetzt wunderbar, aber nicht so mit Turbo Delphi übersetzt, wo ich die Komponente nicht installieren kann. Dort erhalte ich eine

EAccessViolation in Modul PSDemo.exe bei Adresse 000A62A9, Zugriffsverletzung bei Adresse 004A62A9 in Modul PSDemo.exe. Lesen von Adresse 0000260.

Das kann eigentlich nur mit dem Problem der nicht installierten Komponente zusammen hängen, sonst würde es mit D7 Personal und dort korrekt installierter Komponente ja auch nicht funktionieren.

PsPicture.Data enthält also die Pixeldaten des Hintergrundes. Die PicShow Kompo hat einen Hintergrund, der jedoch im Objektinsprktor festgelegt wurde und wahrscheinlich in der Ressourcendatei versteckt ist. Enthält Data die reinen Bilddaten oder die komplette Datei einschließlich Headerinformation. Im letzteren Fall könnte ich probeweise die Hexstings in Binärziffern umwandeln und als .jpg Datei abspeichern und wegen der in Turbo Delphi nötigen Instantiierung zur Laufzeit mit LoadFromFile laden. Wenn Data aner nur die reine Pixelinformation umfasst???


Wegen der Problematik mit Turbo Delphi habe ich mir auch DfmToPas beschafft. Leider ist die Oberfläche dort für mich nicht verwendbar. Diese verlangt ein leeres Verzeichnis für die Zielunit aber erlaubt nicht, dieses Verzeichnis vor der Konvertierung festzulegen. Und wie benennt dieses Programm dann die neue Pascal Datei? Heißt also Sourcen studieren und auch verstehen oder doch eigene Lösung zu finden. Die sollte so aussehen, das ich eine Include Datei erhalte, die dann im Interface Teil meines Formular Quelltextes so eigefügt ist, das sich die Unit danach so verhält, als wäre sie mit der Original .dfm Datei übersetzt worden.

Doch dann muss ich wissen, welchen Quelltext diese Software dann für PgPicture.Data = {...} erzeugen müsste.

.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.

Geändert von schöni ( 6. Apr 2012 um 10:15 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Dateien einlesen

  Alt 6. Apr 2012, 11:43
Der Hintergrund wird in BgPicture.Data stecken
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#4

AW: Dateien einlesen

  Alt 6. Apr 2012, 12:10
Den braucht man nun auch nicht unbedingt. Testhalber habe ich gerade mit Delphi 2007 die Demo leicht modifiziert, ohne die Komponente zu installieren (die Nachfrage von Delphi beim Laden des Projekts, ob die Komponente entfernt werden soll, muss man dabei verneinen). Dazu muss man lediglich die Deklaration von PicShow in den private-Abschnitt verschieben und im OnCreate ein paar Zeilen hinzufügen.
Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin
  PicShow := TPicShow.Create(self);
  PicShow.Left := ClientWidth;
  PicShow.Align := alClient;
  PicShow.Parent := self;
  PicShow.Center := true;
  PicShow.Stretch := true;
  PicShow.Proportional := true;
  PicShow.OnStart := PicShowStart;
  PicShow.OnStop := PicShowStop;
  PicShow.OnProgress := PicShowProgress;
  PicShow.OnDblClick := PicShowDblClick;
  //Ab hier Originalcode der Demo
  Randomize;
  //usw.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#5

AW: Dateien einlesen

  Alt 6. Apr 2012, 13:23
Super! Mit dieser Modifikation funktioniert es.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 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-2025 by Thomas Breitkreuz