Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS #FMX_KdF "TakePhotoFromCameraAction" (https://www.delphipraxis.net/185121-fmx_kdf-takephotofromcameraaction.html)

Mavarik 17. Mai 2015 11:24

#FMX_KdF "TakePhotoFromCameraAction"
 
#FMX_kdF Diskussion zu TakePhotoFromCameraAction

Gibt es keine Möglichkeit die Auflösung der Cameras vorher aus zu lesen?
Ein setzen auf 8000x6000 was bewirkt das genau? Skaliert das auch die Fotos hoch auf diese Auflösung?

Mavarik

PS: So hatte ich mir übrigens die Diskussion zu diesem Thread vorgestellt... Wenn Harry Stahl noch seinen Beitag hierhin verlinken würde...

Sir Rufo 17. Mai 2015 11:34

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
Also wenn ich lese dann beschleicht mich doch das Gefühl, dass ich von dieser Aktion ein Bild bekomme, das maximal so groß wird, wie dort angegeben.

Das macht ja auch Sinn dieses vorzugeben, denn schließlich haben wir nicht unbegrenzt Speicher-Platz zu Verfügung und die Anwendung sollte ihre Grenzen kennen.

Kann die Anwendung als ruhigen Gewissens ein Bild mit 50.000 x 50.000 Pixeln verarbeiten, dann trägt die das einfach da ein und lässt sich überraschen, was die Kamera denn nun für ein Bild zurückliefert.

himitsu 17. Mai 2015 11:56

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
Wenn man aber ein Bild in maximaler Auflösung haben will, ohne daß es skaliert, dann sollte man das schon vorher entprechend auslesen und setzen.
'ne schlechte Kamera würde sonst ja unnötig hochskalliert und bei einer besseren Kamera (als seine vorgegebene Bildgröße) würde unnötig Bildinformationen verlieren.

In dem Fall wäre es eigentlich besser, wenn man der TakePhotoFromCameraAction statt einer bestimmten Größe eine minimale und maximale Größe angeben kann, welche man entgegennehmen will. (für eine bestimmte Größe einfach Beides auf den gleichen Wert)
Natürlich noch die Proportionen angeben, also in welchem Format man das Bild will und ob es proportional verzerrt werden darf.

Dann soll sich sich die TakePhotoFromCameraAction und die Kamera einigen, was für ein Format die einem liefern können
und das Bild notfalls skalieren, wenn es nicht innerhalb der Grenzen liegt, um so ein "optimales" Foto zu liefern.

Mavarik 17. Mai 2015 12:08

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
Zitat:

Zitat von himitsu (Beitrag 1301807)
Wenn man aber ein Bild in maximaler Auflösung haben will, ohne daß es skaliert, dann sollte man das schon vorher entprechend auslesen und setzen.

für Video gibt es ja eine Abfrage...

Delphi-Quellcode:
procedure TCameraComponentForm.FillResolutions;
var
  LSettings: TArray<TVideoCaptureSetting>;
  I: Integer;
begin
  LSettings := CameraComponent.AvailableCaptureSettings;

  cbResolutions.Clear;
  for I := Low(LSettings) to High(LSettings) do
    cbResolutions.Items.Add(LSettings[I].Width.ToString + ' x ' + LSettings[I].Height.ToString + ' x ' +
      LSettings[I].FrameRate.ToString);
  cbResolutions.ItemIndex := 0;
end;
Das muss es doch auf für Fotos geben, oder?

himitsu 17. Mai 2015 12:25

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
Das würde bedeuten, daß "jemand" die Komponente intern einheitlich gebaut hat und natürlich auch eingebaut hat, aber ja, im Grunde sollte es da was geben.

Sir Rufo 17. Mai 2015 12:41

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
Was ist denn an dem Wort maximal so unverständlich? :gruebel:

Das Bild von der Kamera wird ausschliesslich kleiner (wenn größer als MaxHeight/MaxWidth) aber niemals größer!

Und was bitteschön geht denn "unnötig verloren", wenn die Anwendung nur ein Bild mit maximal 1024x1024 Pixeln verarbeiten kann? Wenn die mehr kann, dann stell einfach mehr ein. Es wird gewährleistet, dass das Bild niemals größer ist, als dort eingestellt und nur dann kleiner, wenn die Kamera es eben nicht besser kann.

Mavarik 17. Mai 2015 12:45

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
Zitat:

Zitat von Sir Rufo (Beitrag 1301812)
Was ist denn an dem Wort maximal so unverständlich? :gruebel:

Das Bild von der Kamera wird ausschliesslich kleiner (wenn größer als MaxHeight/MaxWidth) aber niemals größer!

Jaaaa ha das haben wir gelesen...:twisted: Ich bin aber bockig und will es trotzdem abfragen können... Voooorher... :cyclops:

Sir Rufo 17. Mai 2015 12:48

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
Zitat:

Zitat von Mavarik (Beitrag 1301813)
Zitat:

Zitat von Sir Rufo (Beitrag 1301812)
Was ist denn an dem Wort maximal so unverständlich? :gruebel:

Das Bild von der Kamera wird ausschliesslich kleiner (wenn größer als MaxHeight/MaxWidth) aber niemals größer!

Jaaaa ha das haben wir gelesen...:twisted: Ich bin aber bockig und will es trotzdem abfragen können... Voooorher... :cyclops:

nein, nicht alle ...
Zitat:

Zitat von himitsu (Beitrag 1301807)
'ne schlechte Kamera würde sonst ja unnötig hochskalliert

;)

Harry Stahl 17. Mai 2015 17:28

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
Zitat:

Zitat von Mavarik (Beitrag 1301803)
#FMX_kdF Diskussion zu TakePhotoFromCameraAction

Gibt es keine Möglichkeit die Auflösung der Cameras vorher aus zu lesen?
Ein setzen auf 8000x6000 was bewirkt das genau? Skaliert das auch die Fotos hoch auf diese Auflösung?

Mavarik

PS: So hatte ich mir übrigens die Diskussion zu diesem Thread vorgestellt... Wenn Harry Stahl noch seinen Beitag hierhin verlinken würde...

So den Link hierher habe ich nun gesetzt.

Übrigens ist es so - wie hier schon richtig vermutet - dass die Kamera Bilder keine hochskalierten Photos macht, sondern maximal bei ihrer physischen Leistungsfähigkeit bleibt, bzw. bei den eingestellten Werten, wenn diese geringer eingestellt sind. Man kann die Werte hier also großzügig vorgeben, denn ein Anwender will sicher keine schlechte Qualität von seinen Photos bekommen. Das gleiche gilt übrigens auch, wenn man ein Bild aus der Fotosammlung wählt. Je nachdem, was man damit macht - Backup auf den PC oder Mailversand - will man vielleicht unterschiedliche Qualitäten einstellen können.

Eine Abfragemöglichkeit hinsichtlich der technischen Leistungsfähigkeit der Kamera wäre nicht schlecht, so dass der User eine realistische Vorstellung dessen bekommt, was er auswählen kann.

Harry Stahl 17. Mai 2015 23:21

AW: #FMX_KdF "TakePhotoFromCameraAction"
 
So, nun abschließend noch die Info, dass ich nun ENDLICH auch eine Aktualisierung auf Android Lolipop für mein Sony Ultra Z bekommen habe und nun selber Android 5.x testen kann (musste das bislang hilfsbereiten Kunden überlassen).

Insofern da auch nur die Info, dass die Kombination XE7 und Android 5.x mit dem App-Tethering hervorragend läuft.

Habe jetzt, wenn das Programm unter Android 5 ausgeführt wird, dafür den Android L-Style vorgesehen, sieht ganz gut aus.

Von der kostenpflichtigen "Pro"-Version des Programms habe ich auch noch ein ganz kurzes Video gemacht, bei Interesse siehe hier: http://youtu.be/QXUAiZ0rFcU

Irgendwo hat mal jemand hier im Forum vor kurzem gesagt, mit Swift hätte man schnellere Erfolgserlebnisse als mit Delphi. Mal abgesehen davon, dass ich mit Swift keine Android-Programme entwickeln kann und dass alleine der Apple Review-Prozess u.U. Wochen oder Monate Zeit in Anspruch nehmen kann:

Das Mini-Programm hier habe ich mit XE7 am Wochenende nebenher (Familienbesuch war da) entwickelt, eine Webseite dafür aufgestellt (http://www.pixpower.info/PixPowerMobilePhoto.htm) und 2 kurze Videos bei YouTube hochgeladen.

Ich bin da sehr zufrieden mit Delphi. XE8 werde ich erst nutzen, wenn das Update 1 raus ist, freue mich aber schon sehr darauf. App-Tethering ist eine superg...e Sache.

Das war hier erst mal nur ein Probelauf, werde es jetzt für meine "wichtigen" Programme übernehmen (durchaus auch noch einige VCL-Programme), also z.B. das Datenbankprogramm ergänzen, so dass man direkt per App-Tethering einen Datensatz per mobilen Gerät erstellen kann und an das Desktop-Programm senden kann.

Super Sache, wenn man z.B. eine Inventarliste erstellen will: Photo vom Gegenstand gemacht, paar Infos hinzu geschrieben und direkt an die Desktop-Datenbank gesendet. Einfacher geht's kaum.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz