Go语言图片处理和生成缩略图的方法
本文实例讲述了Go语言图片处理和生成缩略图的方法。分享给大家供大家参考。具体实现方法如下:
package main
import (
"fmt"
"os"
"image"
"image/color"
"image/draw"
"image/jpeg"
)
func main() {
f1, err := os.Open("1.jpg")
if err != nil {
panic(err)
}
defer f1.Close()
f2, err := os.Open("2.jpg")
if err != nil {
panic(err)
}
defer f2.Close()
f3, err := os.Create("3.jpg")
if err != nil {
panic(err)
}
defer f3.Close()
m1, err := jpeg.Decode(f1)
if err != nil {
panic(err)
}
bounds := m1.Bounds()
m2, err := jpeg.Decode(f2)
if err != nil {
panic(err)
}
m := image.NewRGBA(bounds)
white := color.RGBA{255, 255, 255, 255}
draw.Draw(m, bounds, &image.Uniform{white}, image.ZP, draw.Src)
draw.Draw(m, bounds, m1, image.ZP, draw.Src)
draw.Draw(m, image.Rect(100, 200, 300, 600), m2, image.Pt(250, 60), draw.Src)
err = jpeg.Encode(f3, m, &jpeg.Options{90})
if err != nil {
panic(err)
}
fmt.Printf("ok\n")
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
理解Golang中的数组(array)、切片(slice)和map
我比较喜欢先给出代码,然后得出结论 数组 复制代码 代码如下: package main import ( "fmt" ) func main() { arr := [...]int{1, 2, 3} //打印初始的指针 fmt.Printf("the pointer is : %p \n", &arr) printPointer(arr) } func printPointer(any interface{}) {
-
Go语言生成随机数的方法
本文实例讲述了Go语言生成随机数的方法.分享给大家供大家参考.具体实现方法如下: golang生成随机数可以使用math/rand包 复制代码 代码如下: package main import ( "fmt" "math/rand" ) func main() { for i:=0; i<10; i++ { fmt.Println(rand.Intn(100)) } } 发现这种情况
-
Go语言生成素数的方法
本文实例讲述了Go语言生成素数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main // 生成2, 3, 4, ... 到 channel 'ch'中. func Generate(ch chan<- int) { for i := 2; ; i++ { ch <- i // Send 'i' to channel 'ch'. } } // 从管道复制值 'in' 到 channel 'out', // 移除可整除的
-
深入解析golang编程中函数的用法
函数是一组一起执行任务的语句.每Go程序具有至少一个函数,它一般是main(),以及所有的最琐碎程序可以定义附加函数. 你可以将代码放到独立的功能.如何划分代码之间的不同功能,但逻辑上的划分通常是让每个函数执行特定的任务. 函数声明告诉编译器有关的函数的名称,返回类型和参数.一个函数定义提供了函数的实际主体. Go语言标准库提供了大量的内置函数,在程序可以调用.例如,函数len()需要不同类型的参数和返回值的类型的长度.例如,如果一个字符串传递给它,它会返回字符串的长度以字节为单位,如果一个数组
-
golang模板template自定义函数用法示例
本文实例讲述了golang模板template自定义函数用法.分享给大家供大家参考,具体如下: golang的模板十分强大,其中的unix管道风格函数调用很是喜欢. 模板中有很多内置可以参看pkg文档, 另外还可以实现自定义函数. 例子如下: 复制代码 代码如下: package main import ( "text/template" "time" "os" ) type User struct { Usern
-
使用Go语言简单模拟Python的生成器
def demo_input_and_output(): input = yield 'what is the input?' yield 'input is: %s' % input gen = demo_input_and_output() print(gen.next()) print(gen.send(42)) 这段代码演示了 python generator 的功能.可以看到 yield 同时做了两个操作,一个是往外发数据 "waht is the input",同时做的操作
-
go语言返回1-99之间随机数的方法
本文实例讲述了go语言返回1-99之间随机数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "math/rand" ) func main() { max := big.NewInt(100) i, err := rand.Int(rand.Reader, max) } 希望本文所述对大家的Go语言程序设计有所帮助.
-
Golang记录、计算函数执行耗时、运行时间的一个简单方法
先写一个公共函数, 比如在 common 包下有这么一个方法: // 写超时警告日志 通用方法 func TimeoutWarning(tag, detailed string, start time.Time, timeLimit float64) { dis := time.Now().Sub(start).Seconds() if dis > timeLimit { log.Warning(log.CENTER_COMMON_WARNING, tag, " detailed:&quo
-
Golang编程实现生成n个从a到b不重复随机数的方法
本文实例讲述了Golang编程实现生成n个从a到b不重复随机数的方法.分享给大家供大家参考,具体如下: 代码很简单: 复制代码 代码如下: package test import ( "fmt" "math/rand" "time" ) //生成若干个不重复的随机数 func RandomTestBase() { //测试5次 for i := 0; i < 5; i++ { nums
-
Go语言图片处理和生成缩略图的方法
本文实例讲述了Go语言图片处理和生成缩略图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "os" "image" "image/color" "image/draw" "image/jpeg" ) func main() { f1, err := os
-
ThinkPHP5.0 图片上传生成缩略图实例代码说明
很多朋友遇到这样一个问题,图片上传生成缩略图,很多人在本机(win)测试成功,上传到linux 服务器后错误. 我也遇到同样的问题.网上一查,有无数的人说是服务器临时文件目录权限问题. 几经思考后,发现并非如此. 其根本的原因是,保存到变量的信息是之前的,之后又move移动到了自己指定的目录下,同时临时文件已经不存在.所以再生成缩略图的时候,需要open的,文件地址应该是自己定义的目录+文件名.然而很多实例文档中,还是使用的move 之前的信息. 又加之在win服务器下,move后,指定目录已生
-
AJAX实现图片预览与上传及生成缩略图的方法
要实现功能,上传图片时可以预览,因还有别的文字,所以并不只上传图片,实现与别的文字一起保存,当然上来先上传图片,然后把路径和别的文字一起写入数据库:同时为 图片生成缩略图,现只写上传图片方法,文字在ajax里直接传参数就可以了,若要上传多图,修改一下就可以了. 借鉴了网上资料,自己写了一下,并不需要再新加页面,只在一个页面里就OK啦. JS代码: //ajax保存数据,后台方法里实现此方法 function SaveData() { filename = document.getElementB
-
Java图片裁剪和生成缩略图的实例方法
一.缩略图 在浏览相册的时候,可能需要生成相应的缩略图. 直接上代码: public class ImageUtil { private Logger log = LoggerFactory.getLogger(getClass()); private static String DEFAULT_PREVFIX = "thumb_"; private static Boolean DEFAULT_FORCE = false;//建议该值为false /** * <p>Tit
-
python使用pil生成缩略图的方法
本文实例讲述了python使用pil生成缩略图的方法.分享给大家供大家参考.具体分析如下: 这段代码实现python通过pil生成缩略图的功能,会强行将图片大小修改成250x156 from PIL import Image img = Image.open('jb51.jpg') img = img.resize((250, 156), Image.ANTIALIAS) img.save('jb51_small.jpg') 希望本文所述对大家的Python程序设计有所帮助.
-
ASP.NET实现上传图片并生成缩略图的方法
本文实例讲述了ASP.NET实现上传图片并生成缩略图的方法.分享给大家供大家参考,具体如下: protected void bt_upload_Click(object sender, EventArgs e) { //检查上传文件的格式是否有效 if (this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("上传图片格式无效!"); re
-
Thinkphp调用Image类生成缩略图的方法
本文实例讲述了Thinkphp调用Image类生成缩略图的方法.分享给大家供大家参考.具体分析如下: Thinkphp的Image类 在ThinkPHP/Extend/Library/ORG/Util/Image.class.php中. 调用方法如下: import("ORG.Util.Image"); $Img = new Image();//实例化图片类对象 $image_path = './图片路径'; //若当前php文件在Thinkphp的中APP_PATH路径中 //'./
-
php实现根据url自动生成缩略图的方法
本文实例讲述了php实现根据url自动生成缩略图的方法,是非常实用的功能.分享给大家供大家参考.具体方法如下: 原理:设置apache rewrite ,当图片不存在时,调用php创建图片. 例如: 原图路径为:http://localhost/upload/news/2013/07/21/1.jpg 缩略图路径为:http://localhost/supload/news/2013/07/21/1.jpg 当访问 http://localhost/supload/news/2013/07/21
-
PHP基于ffmpeg实现转换视频,截图及生成缩略图的方法
本文实例讲述了PHP基于ffmpeg实现转换视频,截图及生成缩略图的方法.分享给大家供大家参考,具体如下: 这里把ffmpeg 和 生成缩略图整合了一下: include("ImageResize.class.php") //转视频 $cmd="ffmpeg.exe -i starwar.avi -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 1.flv"; exec($cmd); //视频截图 $cmd="ffmpeg
-
PHP实现原比例生成缩略图的方法
本文实例讲述了PHP实现原比例生成缩略图的方法.分享给大家供大家参考,具体如下: <?php $image = "jiequ.jpg"; // 原图 $imgstream = file_get_contents($image); $im = imagecreatefromstring($imgstream); $x = imagesx($im);//获取图片的宽 $y = imagesy($im);//获取图片的高 // 缩略后的大小 $xx = 140; $yy = 200;
随机推荐
- IOS LaunchScreen设置启动图片与启动页停留时间详解
- freebsd安装图解
- asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法
- 利用js实现选项卡的特别效果的实例
- js如何判断用户是否是用微信浏览器
- C# httpwebrequest访问HTTPS错误处理方法
- MySql中把一个表的数据插入到另一个表中的实现代码
- 原生JS实现导航下拉菜单效果
- SQLSERVER数据备份文件的分割备份方法
- MySql允许远程连接如何实现该功能
- JS排序之选择排序详解
- PHP实现一个简单url路由功能实例
- 从内存地址解析Java的static关键字的作用
- Python 调用DLL操作抄表机
- 关于B/S判断浏览器断开的问题讨论
- java基于jedisLock—redis分布式锁实现示例代码
- nodejs中密码加密处理操作详解
- python装饰器简介---这一篇也许就够了(推荐)
- 4个顶级JavaScript高级文本编辑器
- python地震数据可视化详解