简单二次封装的Golang图像处理库:图片裁剪

栏目: Go · 发布时间: 5年前

内容简介:版权所有,转载请注明:1.首先下载2.主要函数

版权所有,转载请注明: http://www.lenggirl.com/language/go-image-cut.html

一.功能

  1. Go语言下的官方图像处理库
  2. 简单封装后对jpg和png图像进行缩放/裁剪的库

二.使用说明

1.首先下载

go get -v -u github.com/hunterhug/go_image

2.主要函数

按照宽度进行等比例缩放,第一参数是图像文件,第二个参数是缩放后的保存文件路径

err := ScaleF2F(filename, savepath, width)

按照宽度和高度进行等比例缩放,第一参数是图像文件,第二个参数是缩放后的保存文件路径

err = ThumbnailF2F(filename, save1path, width, height)

检测图像文件真正文件类型,并返回真实文件名,参数为图像文件位置

realfilename, err := RealImageName(savepath)

改变图像文件名,第一个参数为文件原始名字,第二个参数是文件改名后名字,第三个参数表示是否强制改名

err=ChangeImageName(savepath,realfilename,false)

三.使用示例

3.1.example.go

package main
    
    import (
        "fmt"
        . "github.com/hunterhug/go_image/go_image"
    )
    
    //将某一图片文件进行缩放后存入另外的文件中
    func main() {
        //打印当前文件夹位置
        fmt.Printf("本文件文件夹位置:%s\n", CurDir())
    
        //图像位置
        filename := "./testdata/gopher.png"
    
        //保存位置
        savepath := "./testdata/gopher400.jpg"
        save1path := "./testdata/gopher400*400.png"
    
        //宽度,高度
        width := 200
        height := 400
    
        //按照宽度进行等比例缩放
        err := ScaleF2F(filename, savepath, width)
        if err != nil {
            fmt.Printf("%s\n", err.Error())
        }else{
            fmt.Printf("生成按宽度缩放图%s\n",savepath)
        }
    
        //按照宽度和高度进行等比例缩放
        err = ThumbnailF2F(filename, save1path, width, height)
        if err != nil {
            fmt.Printf("%s\n", err.Error())
        }else{
            fmt.Printf("生成按宽度高度缩放图%s\n",save1path)
        }
    
        //查看图像文件的真正名字
        //如 ./testdata/gopher400.jpg其实是png类型,但是命名错误,需要纠正!
        realfilename, err := RealImageName(savepath)
        if err != nil {
            fmt.Printf("%s\n", err.Error())
        } else {
            fmt.Printf("真正的文件名:%s\n", realfilename)
        }
    
        //文件改名,不强制性
        err=ChangeImageName(savepath,realfilename,false)
        if err!=nil{
            fmt.Printf("文件改名失败:%s%s",realfilename,err.Error())
        }
    
        //文件改名,强制性
        err=ChangeImageName(savepath,realfilename,true)
        if err!=nil{
            fmt.Printf("文件改名失败:%s%s",realfilename,err.Error())
        }else{
            fmt.Println("改名成功")
        }
    }

3.2.结果

本文件文件夹位置:/home/silly/golang/pikapika/src/github.com/hunterhug/go_image
生成按宽度缩放图./testdata/gopher400.jpg
生成按宽度高度缩放图./testdata/gopher400*400.png
真正的文件名:./testdata/gopher400.png
文件改名失败:./testdata/gopher400.png文件已经存在

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Practical Algorithms for Programmers

Practical Algorithms for Programmers

Andrew Binstock、John Rex / Addison-Wesley Professional / 1995-06-29 / USD 39.99

Most algorithm books today are either academic textbooks or rehashes of the same tired set of algorithms. Practical Algorithms for Programmers is the first book to give complete code implementations o......一起来看看 《Practical Algorithms for Programmers》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码