![]() |
Re: 18bit Bilder erstellen??
Zitat:
Zitat:
|
Re: 18bit Bilder erstellen??
Äm, ahso, die function erwartet bei data nur einen zeiger auf die daten! Dann ist klar warum meine bmpausfirmware function nicht läuft... nur wie bekomme ich denn einen zeiger auf das ausgelesene bytearray?
Delphi-Quellcode:
Also eigentlich komme ich mit delphi ganz gut klar, nur mit zeigern steh ich auf kriegsfuß...
function TForm1.bmpausfirmware(offset,groesse:integer):TBitmap;
VAR i:integer; buf: array of byte; ergebniss:string; begin cla := TFileStream.Create(pfad, fmOpenread); cla.Position:=offset; SetLength(buf, groesse); cla.Read(buf[0], groesse); ergebniss:=''; for i:=0 to groesse do ergebniss:=ergebniss + inttostr(buf[0]); i:=strtoint(ergebniss); result:=Bmp18ToBmp24(i,176,220); end; |
Re: 18bit Bilder erstellen??
Delphi-Quellcode:
In dem man die Daten übergibt! :zwinker:
function TForm1.bmpausfirmware(offset,groesse:integer):TBitmap;
VAR i:integer; buf: array of byte; ergebniss:string; begin cla := TFileStream.Create(pfad, fmOpenread); cla.Position:=offset; SetLength(buf, groesse); cla.Read(buf[0], groesse); ergebniss:=''; for i:=0 to groesse do ergebniss:=ergebniss + inttostr(buf[0]); i:=strtoint(ergebniss); result:=Bmp18ToBmp24(buf[0],176,220); // << --- end; |
Re: 18bit Bilder erstellen??
ah, das gefällt mir, langsam scheine auch ich das alles hinzubekommen... also sieht meine function jetzt so aus:
Delphi-Quellcode:
kan ndas jetzt nicht ausprobieren, bin auf der arbeit, aberdas hört sich doch vielversprechend an, danke!
function TForm1.bmpausfirmware(offset,groesse,width,height:integer):TBitmap;
VAR buf: array of byte; begin cla := TFileStream.Create(pfad, fmOpenread); cla.Position:=offset; SetLength(buf, groesse); cla.Read(buf[0], groesse); result:=Bmp18ToBmp24(buf[0],width,height); end; |
Re: 18bit Bilder erstellen??
Hallo nochmal!
Also die bmpausfirmware function läuft einwandfrei. aber die bildtauschen verursacht einen access error
Delphi-Quellcode:
ich sehe keinen fehler, ihr?
procedure TForm1.bildtauschen(offset,groesse:Integer);
VAR length : integer; p : Pointer; buffer: array of byte; begin length := Bmp24ToBmp18(image2.picture.bitmap, p); cla := TFileStream.Create(pfad, fmOpenWrite or fmShareExclusive); cla.Position := offset; cla.write(p^, length); FreeAndNil(cla); FreeMem(p); end; //EDIT es ist die bmp24to18. wenn ich sie einfach mal so aufrufe
Delphi-Quellcode:
kommt der fehler auch!!!
length := Bmp24ToBmp18(image2.picture.bitmap, p);
lustig ist nur, er tauscht das Bild, funzt einwandfrei, aber das programm stürzt ab... |
Re: 18bit Bilder erstellen??
EDIT: Englisch to German
Also ich seh den Fehler nicht, vielleicht liegt er ja im Zusammenhang (Wie war das mit Parties...) Sorry. |
Re: 18bit Bilder erstellen??
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal meine komplette unit: der fehler erfolgt beim button2klick, jeweils wenn ich die function direkt aufrufe oder über die bildtauschen
|
Re: 18bit Bilder erstellen??
ok, vergiss es, ES GEHT!! Wenn ich dir änderungen an den functions die du weiter oben vorgeschlagen hast mache dann läuft alles einwandfei!! DANKE AN ALLE!
|
Re: 18bit Bilder erstellen??
Liste der Anhänge anzeigen (Anzahl: 4)
hey neo, du musst mir nochmal helfen :cry: das gibts doch garnicht, ich hab das programm soweit fertig, und jetzt hab ich mal dir original firmware geöffnet, und was passiert: Er liegt fast überall mit den farbwerten total daneben. also eine firmware wo ich schon selber neue bilder hinzugefügt habe, da sehen die bilder top aus, aber wenn ich die originalen bilder anzeige kommt sowas bei raus:
irgendeine farbe oder so wird falsch erkannt?!? Brauchst du noch die 18bit bilder? Das ist nämlhc etwas schwehr, die müsst ich erst mittm hex editor aus der firmware holen, oder kannst du so den fehler finden?? DANKE SIMON ich habe mal mein komplettes Projekt und eine Firmware auf meinen Server geladen. Wie ihr seht hat er probleme die bilder darzustellen, sobald man sie aber einmal tauscht gegen andere sind sie einwandfrei. Das liegt nicht nur daran das er nur von sich getauschte möchte, ich hab auch mal ein bild per hand (hex editor) getauscht und die liest er auch wunderbar ein! Vlt kann mir ja jemand helfen! ![]() |
Re: 18bit Bilder erstellen??
Tut mir ehrlich leid. Aber mein Notebook schicke ich heute zurueck zum Hersteller. Leider hab ich kein Delphi und auch nicht den Quellcode. Werde aber weiter auf diesen Thread achten so gut wie ich kann.
Tip: Vergleich mal die Farbwerte, dann sieht man meist welche Hex Zahl abweicht. |
Re: 18bit Bilder erstellen??
Zitat:
Code:
...und die urspünglich vermutete Verschiebung der Bits entsteht wahrscheinlich durch die 'Verschlüsselung' der Firmwaredaten...
P-Bit: [color=grey]2222 1111 1111 1100 0000 0000[/color]
P-Bit: [color=grey]3210 9876 5432 1098 7654 3210[/color] Color: aaaa aa[color=green]gg[/color] [color=green]gggg[/color] [color=blue]bbbb bb[/color][color=red]rr rrrr[/color] C-Bit: [color=grey]7654 3276 5432 7654 3276 5432[/color] Gruß Nico |
Re: 18bit Bilder erstellen??
hm, danke schonmal. Es kann auch an dem ersten Bild liegen was ich euch gegeben habe, woraus ihr dieses Format errechnet habt, das wurde nämlich mit dem Samsung Programm (resman)erstellt... hm, kannst du mir die Functions so anpassen das sie ohne diese Verschiebung arbeiten und ich schaue mal ob es wirklich daran lag, bzw die verteilung der bits so richtig ist? Danke, SIMON
|
Re: 18bit Bilder erstellen??
Zitat:
|
Re: 18bit Bilder erstellen??
hm, ich habs wieder gelöscht, brauchst du das? wenn ja lad ich es heut abend nochmal hoch, bin gerad auf der Arbeit...
|
Re: 18bit Bilder erstellen??
Hallo!!
@ neolithos oder NICODE, kann sich das nicht nochmal einer anschauen, das ist echt ein wichtiges Projekt für mich... |
Re: 18bit Bilder erstellen??
Naechste Woche eve. wieder, weil da soll mein Computer eventuell wieder funktionierend zurueck kommen. Mal schauen.
|
Re: 18bit Bilder erstellen??
hier nochmal der Link zum Kompletten Projekt inclusive einer Firmware mit der es funzen sollte
![]() |
Re: 18bit Bilder erstellen??
Kannst du die Bilder noch mal als Rohdaten anhängen?
|
Re: 18bit Bilder erstellen??
hallo, einfach die mitgelieferte .cla datei mit z.b. ultraedit öffnen. Dann in meinem Projekt in der ersten Procedure (set_data mein ich) stehen die ganzen Adressen der Bilder in der Firmware, einfach zu der Adresse springen ab da fangen die bilder an. Bin gerade auf der Arbeit, ich kann auch ein Bild mal aus der firmware rausholen, aber so geht es einfacher, denke ich!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 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