AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi bmp's schnell zeichen!
Thema durchsuchen
Ansicht
Themen-Optionen

bmp's schnell zeichen!

Ein Thema von xy124 · begonnen am 20. Nov 2008 · letzter Beitrag vom 22. Nov 2008
Antwort Antwort
xy124

Registriert seit: 3. Dez 2007
146 Beiträge
 
Delphi 7 Personal
 
#1

bmp's schnell zeichen!

  Alt 20. Nov 2008, 16:34
Hallo Leute!

Wie kann ich bitmaps auf mein Formular möglichst schnell & CPU-schonend Zeichnen?

Ich lade mit dem HIER geposteten Code meinen aktuellen Webcamframe ins bmp Format und werte diese dann mittels Scanline aus.
^^das funktioniert auch, nur dass es halt ein wenig ruckelt, deswegen dachte ich an Andorra um Hardwarebeschleunigt oder wie das heißt zu arbeiten.

Wie ich gesehen habe hat Andorra auch eine eigene Scanline-function - ist die schneller als die von einem normalem Bitmap?

aber viel stärker interessiert mich, wie ich eine TBitmap möglichst zeitnah auf mein addraw bekomme!

hoffe ihr könnt mir helfen!


-xy124-
o o
LJ
TTT
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#2

Re: bmp's schnell zeichen!

  Alt 20. Nov 2008, 17:56
Wenn du mit der VCL arbeiten willst, wäre es am einfachsten, auf ein vom angezeigten Bild seperates TBitmap zu zeichnen und das dann der Bitmap Eigenschaft (eines TImage, oder wie magst) zuzuweisen. So sollte es eigentlich nicht ruckeln, hängt aber unter Umständen von deiner Bildgröße ab.

[EDIT]Habe grade mal den Link gelesen, in dem Fall musst du das ganze natürlich auch nicht erst als BMP speichern, dadurch sollte eher das Problem entstehen, wenn die Daten ohnehin schon als TBitmap vorliegen.
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#3

Re: bmp's schnell zeichen!

  Alt 21. Nov 2008, 11:07
Also meiner Meinung nach ist das Zeichnen eines Bitmaps wohl eher kein Problem. Selbst, wenn man Bitmaps benutzt die rein in Software gezeichnet werden, sollten locker über 60 Bilder pro Sekunde möglich sein. Da auf eine hardwarebeschleunigte Bibliothek wie Andora (oder auch direkt OpenGL/DirectX) zu setzen wird vermutlich nicht viel bringen. Denn bei diese APIs muss das Bild immer erst noch mal seperat zur Grafikkarte geladen werden was auch wiederrum Zeit in Anspruch nimmt.

Von daher würde mich mehr interessieren wie der Rest deines Codes aussieht? Besonders was du mit Scanlines dort anstellst? Auch würde ich mal schauen ob es nicht evtl einen besseren Weg gibt an die Bilder zu kommen außer über die Zwischenablage. Könnte mir auch gut vorstellen, dass das mitunter mehr Zeit benötigt als notwendig wäre. Ich kenne mich mit Capturing nicht mehr so gut aus. Liegt schon ein paar Jahre zurück. Aber könnte mir gut vorstellen, dass es dort so eine Art Callback geben wird. Also, dass man von außen eine Methode übergeben kann die dann pro Frame aufgerufen wird und die Bilddaten übergeben bekommt. Das würde auch nur dann passieren, wenn tatsächlich ein neues Frame existiert. Mit dem explizieten Abholen von Bildern kannst du nämlich nicht feststellen ob du wirklich alle Bilder bekommst oder ob du nicht evtl. Bilder doppelt holst.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
xy124

Registriert seit: 3. Dez 2007
146 Beiträge
 
Delphi 7 Personal
 
#4

Re: bmp's schnell zeichen!

  Alt 22. Nov 2008, 18:21
also erstmal viiiiiiiiiiiiiiiiiiiiiiiielen Dank für eure Antworten.
Ihr konntet mich jetzt davon überzeugen, dass es nichts bringt alles auf andorra umzustellen *puh* 8)

trotzdem hab ich noch eine Frage in der es um Geschwindigkeit geht.
Ist das(http://delphiportal.de/362-eine-bitm...tikal-spiegeln) wirklich die schnellste Möglichkeit ein bitmap zu spiegeln?

ich hab' leider in msdn auch nix gefunden um das Webcambild gleich gespiegelt auszugeben, obwohl man das bei meiner Webcam in der Treibersetup einstellen kann.

wäre echt super wenn einer von euch Delphiprofis helfen kann
o o
LJ
TTT
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: bmp's schnell zeichen!

  Alt 22. Nov 2008, 18:24
Such mal nach der Bibliothek 'Graphics32' (oder Graphic32?), das ist eine mächtig gimpte Bitmap-Komponente, die die Grundfunktionen (Spiegeln, Drehen etc.) in atemberaubender Geschwindigkeit umsetzt. Umd umsonst ist es auch.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  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 19:10 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