Avatar billede jetrit Nybegynder
23. oktober 2003 - 10:15 Der er 1 løsning

Colorspace problem med at skrive med CMYK farver

hej jeg skal leve et billede hvor jeg indlæser et jpeg billede som baggrund og skal så skrive på det
jeg får tekstfarven i cmyk og har prøvet at anfive det så ledes.
      float farve[] = {(float) f.getC(), (float) f.getM(), (float) f.getY(), (float) f.getK()};
      ColorSpace cSpace = ColorSpace.getInstance(ColorSpace.TYPE_CMYK);
      grafik.setColor(new Color(cSpace, farve, (float) 0));


men når jeg køre det siger den

java.lang.IllegalArgumentException: Unknown color space
    at java.awt.color.ColorSpace.getInstance(ColorSpace.java:311)
    at tag2.GenerateJpeg.service(GenerateJpeg.java:35)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)

er der nogen der kan sige mig hvad jeg kan gøre
er der en algoritme der kan konvatere CMYK til RGB
eller er der en let måde?
Avatar billede jetrit Nybegynder
25. oktober 2003 - 11:30 #1
private Color setCMYKColor(float c, float m, float y, float k){
  float r, g, b;
  c=c/100;
  m=m/100;
  y=y/100;
  k=k/100;
  r = ( c + k );
  if( r > 1 )
        r = 1;
  g = ( m + k );
  if( g > 1 )
        g = 1;
    b = ( y + k );
    if( b > 1 )
        b = 1;
    return new Color( (int)( 255 * ( 1 - r ) ), (int)( 255 * ( 1 - g ) ), (int)( 255 * ( 1 - b ) ) );
  }
kan bruges til at konvatere cmyk til rgb og skulle passe til adobe spec 1.3
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester