Delphi-PRAXiS
Seite 4 von 8   « Erste     234 56     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Farbwert zu Dezimal (https://www.delphipraxis.net/200198-farbwert-zu-dezimal.html)

EWeiss 29. Mär 2019 09:18

AW: Farbwert zu Dezimal
 
Zitat:

Zitat von Neutral General (Beitrag 1429081)
Zitat:

Zitat von EWeiss (Beitrag 1429076)
PS:
Danke für euer Interesse denke muss es aufgeben komme auf keinen grünen zweig.
Man kann es drehen wie man will aber die Berechnung von VB lässt sich scheinbar auf Delphi auch in geänderter Form nicht umlegen.
Er wendet da ein paar Tricks an die so einfach nicht nachvollziehbar sind.

Der Code von VB lässt sich definitiv auf Delphi umlegen und das ganz ohne Tricks.
Du solltest dich eventuell mal mit den Datentypen und binären Operationen auseinandersetzen, weil du nicht wirklich genau weißt was du da überhaupt tust.

Danke für den Ratschlag. Du hast ja so recht.
Nur seltsam das meine Projekte soweit alle laufen für jemand der keine Ahnung hat eine respektvolle Leistung.

gruss

Klaus01 29. Mär 2019 09:37

AW: Farbwert zu Dezimal
 
Zitat:

Zitat von EWeiss (Beitrag 1429076)
Zitat:

Zitat von Klaus01 (Beitrag 1429074)
Zitat:

Zitat von EWeiss (Beitrag 1429073)
Danke für deine Mühe es gibt einen AV direkt in der ersten zeile

Delphi-Quellcode:
alpha := ((imgSpectrum[y,y] and $FF000000) shr 24) and $FF;
gruss

ein Schreibfehler meinerseits: sollte imgSpectrum[x,y] heißen nit [y,y]

Grüße
Klaus

Kein Problem ;)
Aber nein funktioniert nicht komme niemals über 127 hinweg.

es hat noch eine Zeile gefehlt:

Delphi-Quellcode:
alpha := (alpha div 9) - d
Habe es oben ergänzt.

Grüße
Klaus

EWeiss 29. Mär 2019 09:45

AW: Farbwert zu Dezimal
 
Zitat:

Zitat von Klaus01 (Beitrag 1429084)
Zitat:

Zitat von EWeiss (Beitrag 1429076)
Zitat:

Zitat von Klaus01 (Beitrag 1429074)
Zitat:

Zitat von EWeiss (Beitrag 1429073)
Danke für deine Mühe es gibt einen AV direkt in der ersten zeile

Delphi-Quellcode:
alpha := ((imgSpectrum[y,y] and $FF000000) shr 24) and $FF;
gruss

ein Schreibfehler meinerseits: sollte imgSpectrum[x,y] heißen nit [y,y]

Grüße
Klaus

Kein Problem ;)
Aber nein funktioniert nicht komme niemals über 127 hinweg.

es hat noch eine Zeile gefehlt:

Delphi-Quellcode:
alpha := (alpha div 9) - d
Habe es oben ergänzt.

Grüße
Klaus

Kann sein ändert aber nichts daran es ging um case 0 da wird (alpha div 9) nicht verwendet.
Trotzdem danke..

Tut mir leid das ein Nichtskönner euch mit seinem Problem belästigt hat.. Entschuldigung.
Es gibt immer wieder Leute die viel reden aber zum eigentlichen Thema nichts beitragen.
Müssen sie auch nicht nur dann sollen sie sich bedeckt halten und die Sticheleien gefälligst unterlassen.
Bin sauer!

gruss

Klaus01 29. Mär 2019 10:10

AW: Farbwert zu Dezimal
 
Sauer sein macht Falten..

Setze doch mal eine Breakpoint auf
Delphi-Quellcode:
 alpha := ((imgSpectrum[x,y] and $FF000000) shr 24) and $FF;
Markiere imgSpectrum[x,y], drücke ctrl+F5
das gleiche mache mit alpha.
Editiere die beiden Watcheinträge, und lass sie als Hexwert ausgeben.

Jetzt schau mal was in den imgSpectrum Array drin steht.
.. und was aus alpha wird.

Vielleicht ist es ein Problem Deiner Eingangsdaten..

Wenn ich meine Array mit Quatchwerten belege, dann wird auch ab und an alpha > 127 angefahren.
Delphi-Quellcode:
 for x := 0 to w do
      for y := 0 to h do
        imgSpectrum[x,y] := (random(high(byte)) shl 24) or $00123456;
Grüße
Klaus

EWeiss 29. Mär 2019 10:17

AW: Farbwert zu Dezimal
 
Zitat:

Vielleicht ist es ein Problem Deiner Eingangsdaten..
Welche Eingangsdaten?
Die Daten bzw.. Farben werden doch erst hier erzeugt.
Es ist ein leeres Bitmap was erst beim Rendern mit Farbe gefüllt wird die Funktionen der Effekte addieren dann die zusätzlichen Farbwerte bzw. Manipulieren diese.

siehe!
Zitat:

imgSpectrum[x,y] := (random(high(byte)) shl 24) or $00123456;
erst hier bekommt das Bitmap bzw.. das Array Farbdaten.

PS:
Nur über das Original Projekt kann man erkennen was abgeht. ;)

gruss

Klaus01 29. Mär 2019 10:23

AW: Farbwert zu Dezimal
 
.. ich ging davon aus, das Daten im imgSpectrum vorhanden sind.
Wenn das Array leer ist, bzw mit 0en gefüllt, dann kann alpha nie > 127 sein.
Oder vielleicht, doch das ist dann aber abhängig von "fade".

Grüße
Klaus

EWeiss 29. Mär 2019 10:27

AW: Farbwert zu Dezimal
 
Zitat:

Zitat von Klaus01 (Beitrag 1429091)
.. ich ging davon aus, das Daten im imgSpectrum vorhanden sind.
Wenn das Array leer ist, bzw mit 0en gefüllt, dann kann alpha nie > 127 sein.
Grüße
Klaus

Zitat:

Oder vielleicht, doch das ist dann aber abhängig von "fade".
Richtig! Deshalb kann man das nur mit dem Original testen. ;)
Aber das ist schwierig weil das Rendern über eine Callback gesteuert wird unterbrichts du die wird es schwierig da was zu debuggen.

gruss

Klaus01 29. Mär 2019 10:32

AW: Farbwert zu Dezimal
 
.. kannst Du nit die "fade" oder "d" Werte in eine Datei schreiben lassen?

Mit den Werten könnte man die Funktion dann testetn.

Grüße
Klaus

EWeiss 29. Mär 2019 10:36

AW: Farbwert zu Dezimal
 
Zitat:

Zitat von Klaus01 (Beitrag 1429096)
.. kannst Du nit die "fade" oder "d" Werte in eine Datei schreiben lassen?

Mit den Werten könnte man die Funktion dann testetn.

Grüße
Klaus

Die hast du doch..
Delphi-Quellcode:
d := round(Fade * 255);


Für das Case 0 also wenn kein Effekt ausgewählt ist.
Fade ist ein wert zwischen 0 und 1 Default 0.81xxxx

gruss

Klaus01 29. Mär 2019 10:49

AW: Farbwert zu Dezimal
 
.. aber wenn d einen wert größer als 0 hat
und alpha so berechnet wird ->
Delphi-Quellcode:
alpha := ((imgSpectrum[x,y] and $FF000000) shr 24) and $FF;
alpha := alpha - d
ist dann nicht alpha immer < 0?

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:30 Uhr.
Seite 4 von 8   « Erste     234 56     Letzte »    

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