标签: go-imagick

在go lang中将字符串转换为uint

我试图使用以下代码将字符串转换为32位ubuntu上的uint.但是它始终在uint64中转换它,尽管在函数中明确地传递了32作为参数.下面的代码mw是图像magick库的对象.哪个和uint什么时候返回.此外,它接受resize函数中的type参数. mw.getImageWidth()mw.getImageHeight()uint

    width :=  strings.Split(imgResize, "x")[0]
    height := strings.Split(imgResize, "x")[1]

    var masterWidth uint = mw.GetImageWidth() 
    var masterHeight uint = mw.GetImageHeight() 

    mw := imagick.NewMagickWand()
    defer mw.Destroy()

    err = mw.ReadImageBlob(img)
    if err != nil {
            log.Fatal(err)
        } 

    var masterWidth uint = mw.GetImageWidth() 
    var masterHeight uint = mw.GetImageHeight()

    wd, _ := strconv.ParseUint(width, 10, 32)
    ht, _ := strconv.ParseUint(height, 10, 32)

   if masterWidth < wd || masterHeight < ht { 
     err = mw.ResizeImage(wd, ht, imagick.FILTER_BOX, 1) …
Run Code Online (Sandbox Code Playgroud)

go go-imagick

13
推荐指数
1
解决办法
2万
查看次数

删除边框/裁剪图像的最佳方法

我正在使用Go包(Go绑定到ImageMagick的MagickWand C API)到ImageMagick,在这里我要从图像中删除边框(裁剪)。我使用修剪功能的方式可以在下面找到。

现在的问题是模糊因素。例如,如果我将该值设置为2000,则图像(这里是源)仍然具有一些白色图像,如下所示:

  • 模糊因子值2000-> 结果
  • 模糊因子值10000-> 结果

我创建了一个小的html来最好地说明问题。它包含两个图像:https : //dl.dropboxusercontent.com/u/15684927/image-trim-problem.html

如您所见,源在右下角有一些像素,这会引起问题。如果将系数设置为10000,恐怕会丢失其他图片上的像素。如果我将其设置为2000,则无法在此类图片中正确进行剪裁。

因此,我的实际问题是:“裁剪” /“修剪”图像的最佳方法是什么?

package main

import "gopkg.in/gographics/imagick.v1/imagick"

func main() {
    imagick.Initialize()
    defer imagick.Terminate()

    inputFile := "tshirt-original.jpg"
    outputFile := "trimmed.jpg"
    mw := imagick.NewMagickWand()
    // Schedule cleanup
    defer mw.Destroy()

    // read image
    err := mw.ReadImage(inputFile)
    if err != nil {
        panic(err)
    }

    // first trim original image
    // fuzz: by default target must match a particular pixel color exactly.
    // However, in many cases two colors …
Run Code Online (Sandbox Code Playgroud)

imagemagick go imagick go-imagick

2
推荐指数
1
解决办法
927
查看次数

标签 统计

go ×2

go-imagick ×2

imagemagick ×1

imagick ×1