JPG in Graustufen unter Win CE



  • Hi,

    Frage an die Champs hier: Wie kann ich ein JPG unter Win CE in Graustufen umwandeln? Die Anzeige der Bildchen erfolgt über CComPtr<IImage>.
    Das Bild soll aussehen wie ein disabled Element.

    Jemand ne Idee?

    THX sconmal

    grüssle 🙂

    Ach ja, habs auch schon mit 'SetImageFlags' versucht, haut aber irgendwie nicht hin.



  • Du kannst doch sicher die RGB-Daten der Pixel verändern?

    uniform sampler2D Texture0;
    uniform sampler2D Texture1;
    
    void main( void )
    {
       vec4 color   = texture2D(Texture0, gl_TexCoord[0].xy ) * 
                      texture2D(Texture1, gl_TexCoord[0].xy );
       float tmp    = dot(color.xyz, vec3(0.30, 0.59, 0.11));
       gl_FragColor = vec4(tmp, tmp, tmp, 1.0f);
    }
    

    Ist ausm einfachen Pixelshader. Die vorletzten Zeilen sind für dich interessant.
    Da ein Skalarproduk der Farbe mit dem Vektor (0.30, 0.59, 0.11). Das Ergebnis wird dann einfach als neuer Farbwert für R,G und das B genutzt.
    Ist ein einfacher Graustufenfilter. An den Wichtungen kann man natürlich noch rumspielen.
    Ach ja das ganze ist für den Farbbereich von 0 - 1 gedacht. Du musst also den Ergebniswert wahrscheinlich noch mit 255 multiplizieren. Ansonsten wird es eine SEHR dunkles Bild^^

    edit: denk dran, wenn deine Farbwerte im Bereichg [0,255] liegen diese vorher auf [0,1] zu skalieren. ODer du tust die Werte im Wichtungsvektor mit 255 mulitplizieren. Ist wahrscheinlich die sinnvollste VAriante



  • Danke erstmal.

    Muss aber doch eine andere Lösung finden. Nicht meine Entscheidung 😞

    Andere Frage: Kennt einer von euch die IImage Class? Muss von einem IImage auf ein CImage kommen. Genauer gesagt auf ein HBITMAP.

    Jemand ne Idee? Mir gehen sie langsam aber sicher aus 🙄

    grüssle 🙂


Log in to reply