![]() |
Re: TPCMDrawer - Bilder hören statt sehen
Zitat:
Momentan bastle ich an einem GUI dafür, da könnte man dann auch ein "Livebild" während der Konvertierung anzeigen lassen. |
Re: TPCMDrawer - Bilder hören statt sehen
Ich hab' mal ein wenig dran weitergebastelt.
Das Demoprojekt ist jetzt auch endlich erwachsen, Laden von Bitmaps und JPEGs funktioniert via Drag&Drop aus dem Explorer, die Bilder können verkleinert/vergrößert werden, an diversen Einstellungen kann nach Lust und Laune herumgespielt werden, Threading ist endlich implementiert. ToDos: Geschwindigkeit! Mal gucken, ob man Multithreading implementieren kann. Viel Spaß damit! |
Re: TPCMDrawer - Bilder hören statt sehen
Zitat:
|
Re: TPCMDrawer - Bilder hören statt sehen
Zitat:
Delphi-Quellcode:
Multithreading (sprich das Aufteilen des Bildes in mehrere Abschnitte, welche dann autark bearbeitet werden) bringt auf meinem DualCore mit 2 Threads ungefähr 40 - 45 % mehr Geschwindigkeit. Immerhin... :cyclops:
procedure TPCMDrawerWorker.ReadPictureData;
type pixel = array[0..2] of byte; var p : ^pixel; i: integer; r, g, b, c: byte; color, v: integer; begin p := fBitmap.ScanLine[fBitmapPosCounter]; for i := 0 to fBitmap.Width -1 do begin r := Byte(p^[0]); g := Byte(p^[1]); b := Byte(p^[2]); if fReverseColors then c := 255 - ((r+b+g) div 3) else c := ((r+b+g) div 3); v:= Trunc(c / 255 * fAmplitude); if v >= cIgnoreColorLower then fPixelData[i].Amplitude := v else fPixelData[i].Amplitude := 0; inc(p); end; Inc(fBitmapPosCounter); end; |
Re: TPCMDrawer - Bilder hören statt sehen
Lange nicht mehr dran weitergebastelt und doch ist zwischenzeitlich das Projekt gewachsen. :)
Ich hab mal ein neues ZIP-Archiv an den ersten Beitrag gepinnt. In ihr befindet sich ein etwas ausgereifter Editor, um Geräusche aus Bildern zu kreieren. Mit integriert ist auch eine Sonagramm-Visualisierung. Den Quelltext der TPCMDrawer-Klasse muss ich noch ein wenig "schönschreiben", dann werde ich ihn auch im ersten Beitrag aktualisieren. |
Re: TPCMDrawer - Bilder hören statt sehen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mir die "PCMDrawerDemoV0_2.zip", welche zwar mehrere Threads hat, aber nur ein Kern auslastet (22 - 25 %).
Außerdem dauert es 38 von 12 Sekunden? Abgesehen davon, sind das (wenns andersherum ist), fast 33 %, obwohl die Progressbar noch nicht mal etwas zeigt. Ansonsten kann ich erstmal dazu nichts sagen. MfG xZise |
Re: TPCMDrawer - Bilder hören statt sehen
Zitat:
Und das Problem, dass die vorhergesagte Laufzeit nicht stimmt, ist mir bekannt. Für's Beheben müsste ich Delphi starten: mal schaun', wann ich das das nächste Mal mache... |
Re: TPCMDrawer - Bilder hören statt sehen
Okay mit der PCMDrawerEditor.zip sind es immrhin 60 - 70 % :thumb:
MfG xZise |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 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