Объединение двух картин в Голанге

Я работал в течение последних 15 часов, пытаясь объединить значения, чтобы они могли иметь тот же аспект, что и у nametest

мои попытки В Голанге мне удалось объединить две картинки, создав большие картинки и вставив меньшие картинки рядом

src1, err := imaging.Open("public/images/g8.jpg")
if err != nil {
    log.Fatalf("Open failed: %v", err)
}else{


}
src2, err := imaging.Open("public/images/f2.jpg")
if err != nil {
    log.Fatalf("Open failed: %v", err)
}else{
dstImage1 := imaging.Resize(src1, 256, 256, imaging.Lanczos)
dstImage2 := imaging.Resize(src2, 256, 256, imaging.Lanczos)


    dst := imaging.New(512, 256, color.NRGBA{0, 0, 0, 0})
    dst = imaging.Paste(dst, dstImage1, image.Pt(0, 0))


    dst = imaging.Paste(dst, dstImage2, image.Pt(256, 0)

err = imaging.Save(dst, "public/images/g8.jpg")
if err != nil {
    log.Fatalf("Save failed: %v", err)
}
}

С помощью этого кода я смог реализовать что-то вроде этого http://scholar.myquotes.site/vaumi1.jpg (извините, мне пока не разрешено публиковать изображения), но ясно, что это две совершенно разные картинки, я хотите иметь возможность чистить место встречи изображений таким образом, чтобы не было четкой части встречи. Короче говоря, я хочу получить такой результат, как этот http://scholar.myquotes.site/vaumi.jpg спасибо

1 ответ

Проще говоря, вам нужно нарисовать одно изображение, частично перекрывая другое, используя маску с градиентом прозрачности от полной прозрачности на краю верхнего изображения до полной непрозрачности на краю нижнего изображения.

Вам нужно будет использовать image/draw.DrawMask чтобы сделать это, и вам, вероятно, нужно будет поэкспериментировать, чтобы получить правильное перекрытие.

Другие вопросы по тегам