Thema: Delphi Farbwert zu Dezimal

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#70

AW: Farbwert zu Dezimal

  Alt 30. Mär 2019, 17:49
Zitat:
PixelFormat32bppARGB sagt, dass die Farbinformationen 32 Bits je Pixel enthalten, je 8 Bits für Alpha, Rot, Grün, Blau.
SpectrumData1D enthält aber nur 1 Byte je Pixel.
Und das kommt Dir nicht komisch vor?
Klar kommt mir das komisch vor wollte ja auch das 2 Dimensionale Array direkt an Gdip_CreateBitmapFromScan0 übergeben nur Gdip_CreateBitmapFromScan0
erwartet ein zusammenhängendes Array wie soll ich das sonst machen als wie von Neutral General vorgeschlagen.

Das 2 Dimensionale zu einen eindimensionales konvertieren..
Das anschließend das 2 Dimensionale nicht mehr das widergibt was es eigentlich sollte ist mir auch klar.
Nur bitte schön wie ändern wenn es nicht erlaubt ist.

Danke für deine Ausführung.

Zitat:
Nirgends ist da ein Widerspruch oder Problem.
JO habe ich im nachhinein auch so verstanden du bist ja von Byte ausgegangen.

Zitat:
Ungeachtet dessen definierst Du SpectrumData2D als Array of Array of Byte. (Weil der Parameter Scan0 als PByte definiert ist).
Und auch das kommt Dir nicht komisch vor?
Nein kam mir nicht komisch vor aus dem Grund weil ich nicht immer hin und her konvertieren will wenn es nicht nötig ist.
Daher schien mir das als beste Lösung.

Zitat:
Es spricht ja auch nichts dagegen, SpectrumData2D auf Basis Bytes zu definieren, allerdings nicht nur 1 Byte je Pixel sondern 4 Bytes (= 1 UInt32).
Habe es als LongWord definiert und es kommen nun auch Daten.. ist also nicht mehr 0
Den Fehler warum es abgestürzt ist habe ich ebenfalls gefunden.

Trotz alledem will es nicht so wie es soll.

Zitat:
Selbstverständlich musst Du dann überall dort, wo Du auf SpectrumData2D zugreifst, Änderungen vornehmen.
Nun mit der Originalen Version von VB bekomme ich das nicht gebacken.
Range error, Überlauf Fehler usw..

Es stimmt definitiv noch nicht.
Die anderen hier die ich getestet habe führen zu keinen Werten trotz des neuen DatenTyp LongWord.
Habe das jetzt erstmal auf Seite gelegt. Source ist ja oben, wenn es jemand integrieren will muss er es selbst bewerkstelligen.
Ich für meinen Teil bekomme das nicht gebacken.

Es macht auch nur sinn wenn man das Projekt herunter lädt und es direkt damit testet
imaginär etwas in den Raum stellen bringt nicht viel weil es in dem fall nur Vermutungen sind und nicht wirklich weiterhelfen.. auch wenn es gut gemeint ist.

Mitunter ist die Praxis etwas anderes als die Theorie.

gruss

Geändert von EWeiss (30. Mär 2019 um 19:25 Uhr)
  Mit Zitat antworten Zitat