Как конвертировать RGB-изображение JPG в CMYK JPG - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь преобразовать изображение, загруженное в виде изображения rgb jpg, в изображение cmyk jpg или даже в pdf.Мне нужно, чтобы это был cmyk для поддержки некоторых наших принтеров.Вот код, с которым я работал, который выводит изображение, но всякий раз, когда я проверяю его в Adobe Illustrator, оно всегда отображается в виде изображения rgb.

    reader, err := os.Open("src.jpg")
    if err != nil {
        log.Fatal(err)
    }
    defer reader.Close()

    m, _, err := image.Decode(reader)
    if err != nil {
        log.Fatal(err)
    }

    bounds := m.Bounds()
    rect := image.Rect(0, 0, bounds.Dx(), bounds.Dy())
    cmyk := image.NewCMYK(rect)

    draw.Draw(cmyk, cmyk.Bounds(), m, bounds.Min, draw.Src)
    cmykImage := cmyk.SubImage(rect)

    out, err := os.Create("./output.jpg")
    var opt jpeg.Options
    opt.Quality = 100

    jpeg.Encode(out, cmykImage, &opt)
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

РЕДАКТИРОВАТЬ: отказался от поиска собственного решения go,вместо этого устанавливается imagemagick и вызывается его преобразование цветового пространства cli из go.

    cmd := exec.Command("convert", "src.jpg", "-colorspace", "CMYK", "output.jpg")
    err := cmd.Start()
    if err != nil {
        log.Fatal(err)
    }
    log.Printf("Waiting for command to finish...")
    err = cmd.Wait()

    fmt.Println("Converted jpg")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...