Golang 图片缩略

Go实战--golang实现生成缩略图服务器(disintegration/imaging、nfnt/resize) 生命不止,继续 go go go~~~~今天做一点图片处理的东西,跟大家一起学习分享。很久之前,介绍过golang提供的关于图片的标准库: Go语言学习之image、image/color、image/png、image/jpeg包(the way to go)当你search on google或百度一下的时候,你会发现很多提到了graphics-go/graphics,但是这个库不知道为何,官 阅读详情

https://github.com/nfnt/resize

图片裁剪


func ImageResize() {
	file, err := os.Open("test-1.png")
	if err != nil {
		log.Fatal(err)
	}

	// decode jpeg into image.Image
	img, _, err := image.Decode(file)
	if err != nil {
		log.Fatal(err)
	}
	file.Close()

	// resize to width 1000 using Lanczos resampling
	// and preserve aspect ratio

	kuan := img.Bounds().Dx() //
	gao := img.Bounds().Dy()  //
	fmt.Println(kuan)
	fmt.Println(gao)

	m := resize.Resize(200, 0, img, resize.Lanczos3)
	//m := resize.Resize(1000, 0, img, resize.Lanczos3)

	out, err := os.Create("output-1.jpg")
	if err != nil {
		log.Fatal(err)
	}
	defer out.Close()

	// write new image to file
	jpeg.Encode(out, m, nil)
	fmt.Println("------------------")
}

[]byte 缩略

func ImageResize(ctx *gin.Context, imgByte []byte, percent uint, weight, height int) (b []byte, err error) {
	img, _, err := image.Decode(bytes.NewReader(imgByte))
	if err != nil {
		return
	}
	w := uint(weight) * percent
	h := uint(height) * percent

	resized := resize.Resize(w, h, img, resize.Lanczos3)

	buf := new(bytes.Buffer)
	if err = jpeg.Encode(buf, resized, nil); err != nil {
		return
	}
	return buf.Bytes(), nil
}
Go-resize-纯golang实现的图像大小调整库 resize - 纯golang实现的图像大小调整库 立即下载

相关推荐

golang image图片处理示例

本文实例讲述了golang image图片处理方法。分享给大家供大家参考,具体如下: golang处理图片挺简单的,我是过功能挺简单的,没有过一个缩略图方法. 代码如下: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.Clo

go随聊-golang实现生成缩略图

项目中难免会遇到图片查询的情况,有时候原始图片很大,考虑到带宽,可以只传缩略图给前端。golang有很多生成缩略图的方法,本文介绍一个不错的图片处理包。 disintegration/imaging https://github.com/disintegration/imaging Package imaging provides basic image processing func...

九品神元师 5622

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

Golang实现图片与视频的缩略图生成

图片与视频的缩略图是一个十分常见的需求,比如即时消息。这里摘取了Golang项目中的相关代码,分享图片与视频相关处理的开发经验。

2301_78901807的博客 1253

AURIX TC397开发板到手第一步:用iLLD库驱动LED流水灯(附完整代码)

本文详细介绍了如何使用英飞凌AURIX TC397开发板和iLLD库实现LED流水灯效果。从开发环境配置到硬件连接,再到完整的代码实现,逐步引导开发者完成项目。文章还提供了优化建议和常见问题解决方案,帮助嵌入式开发新手快速上手。

weixin_30911451的博客 390

Unity实时控制佳能单反拍照全流程(附EDSDK 3.6.1配置避坑指南)

本文详细介绍了在Unity中实时控制佳能单反相机进行拍照的完整流程,重点提供了EDSDK 3.6.1的配置与避坑指南。内容涵盖从SDK获取、环境搭建、相机初始化、参数设置到实现拍照控制,并深入探讨了实时取景的延迟优化方案与资源管理,旨在帮助开发者高效集成专业相机,提升AR/VR及摄影测量等应用的视觉输入质量。

go5gopher的博客 184

golang常用库之-disintegration/imaging图片操作(生成缩略图)

imaging 是一个 Go 语言的图像处理库,它提供了一组功能丰富的函数和方法,用于进行各种图像处理操作。

西京刀客 2202

【Java基础篇】Java重要特性,JDK,JRE,JVM区别和联系,环境变量

JDK使用时的执行流程: • 开发者视角(需要开发java程序):需要安装JDK a. 首先使用JDK调用Tools&Tool APIs(开发者工具)编写好Java程序--xxx.java b. 再次调用Tools&Tool APIs中的javac.exe(编译程序)来编译.java文件(将java文件编译成字节码.class文件) c. 调用java.exe来启动JRE d. 在JRE上运行JAVA字节码(加载特定的.class文件,调用这个class文件中的main方法

Yaoyao2024的博客 2163

GoLang缩略图+beego项目

import ( "Server_sevenstudio/controllers" "github.com/astaxie/beego" "mime/multipart" "os" "time" "strconv" "strings" "math/rand" "crypto

qq_35594570的博客 1158

【路径规划】Theta_star算法机器人栅格地图最短路径规划【含Matlab源码 2618期】

Theta_star算法机器人栅格地图最短路径规划 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 362

[QMT量化交易小白入门]-四、如何筛选优质可转债,并进行下单操作

通过上述步骤,成功地使用Python代码完成了可转债的筛选、数据处理和下单操作。当然,这只是一个基础的示例,实际投资中还需要考虑更多因素,如市场环境、资金管理、风险控制等。希望本文能为各位投资者提供一些有价值的参考,助力大家在投资道路上走得更远。

木头大左的博客 1728

go-imageupload:优雅地处理图片上传及缩略图创建指南

go-imageupload:优雅地处理图片上传及缩略图创建指南 项目介绍 go-imageupload 是一个由 Ola Holmström 开发的 Go 语言库,旨在提供一种简单而优雅的方式来处理图片上传任务,并自动生成缩略图。它遵循 BSD-2-Clause 许可证,允许开发者在遵守一定条件的前提下自由使用、修改和分发此库。通过简洁的 API 设计,go-imageupload 能够帮助开...

gitblog_00050的博客 467

部署与可视化系统:移动端落地保姆级教程:YOLOv8 转换为 NCNN 并封装进 Android App 调用摄像头实时检测

本文介绍了在移动端部署YOLOv8模型的最佳实践。通过实测数据对比,采用NCNN框架在骁龙865设备上可实现35+FPS的实时推理性能。文章详细分析了NCNN相比TFLite、MNN等框架的优势,包括更高的ARM CPU性能、更优的Vulkan GPU加速和更小的模型体积。同时提供了从PyTorch模型到NCNN格式的完整转换流程,包括FP16优化和INT8量化方法,并重点解析了YOLOv8特有的输出格式处理要点。建议开发者先在Python环境验证NCNN推理流程,再部署到Android平台,以确保最佳性能

ZXSXJ的博客 209

GO语言根据图片URL动态生成缩略图

利用GO语言开发了一个探索网站,这里面我实现了动态生成缩略图功能,这与nginx等做法是一样的。

pywee的博客 1640

cuRobo 入门教程(二)基于CUDA的机器人运动规划加速库

cuRobo是一款基于CUDA加速的机器人算法库,提供正向/逆向运动学、碰撞检测、数值优化等核心功能,支持在NVIDIA Jetson Orin等平台上实现毫秒级运动规划。该库创新性地采用并行轨迹优化技术,结合nvblox工具实现深度摄像头避障功能,并通过多层ESDF结构处理动态障碍物。性能测试显示,在RTX 6000 Ada显卡上可实现99.85%的成功率,平均规划时间仅39毫秒。cuRobo还提供Python API支持神经网络集成,并具备批量环境处理能力,特别适用于工业机器人应用场景。最新版本通过算法

2506_90492529的博客 1295

i.MX6ULL驱动开发 | 31 - Linux内核网络设备驱动框架

net_device结构体在内核中指代一个网络设备,定义在,是一个非常大的结构体,包含网络设备的属性描述和操作接口,其中一些关键的成员如下。Linux在轮询处理机制和中断处理机制的基础上,提出了一种高效的网络处理技术NAPI。NAPI的核心思想是不全部采用中断来读取网络数据,而是采用中断来唤醒数据接收服务程序,在接收服务程序中采用poll的方法来轮询处理数据。提高短数据包的接收效率,减少中断处理的时间。...

Mculover666的博客(嵌入式) 1103

go语言web开发系列之二十四:用imagemagick为上传图片生成缩略图

一,安装所需的外部程序 1,用apt-get安装ImageMagick root@ku:/data/liuhongdi/digv23# apt-get install imagemagick 2,查看安装是否成功: root@ku:/data/liuhongdi/digv23# convert --version Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org Copyright: © 1999

刘老师的技术森林 1609

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

**图像处理与上传的革新:go-imageupload库**

图像处理与上传的革新:go-imageupload库 在现代Web应用中,图像上传和缩略图创建是不可或缺的功能,但实现起来往往涉及到复杂的逻辑和细节处理。今天,我们要介绍一个强大的开源项目——go-imageupload,它以优雅的方式解决了这一难题。 项目介绍 go-imageupload是一个基于Golang编写的库,旨在简化Web应用中的图片上传流程并自动生成高质量的缩略图。无论是对于个人开...

gitblog_00073的博客 398

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

golang缩略图

今天研究了golang生成缩略图的相关知识,在网上找到一篇不错的相关博客,博客地址:http://www.cnblogs.com/ghj1976/p/3445507.html。 有个注意事项这里提醒一下: 官方文档原话: Image接口可以通过调用如NewRGBA和NewPaletted函数等获得;也可以通过调用Decode函数解码包含GIF、...

weixin_30482383的博客 301

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

裁剪 mysql 编译,golang图片裁剪和缩略图生成

直接贴代码了package mainimport ("errors""fmt""image""image/gif""image/jpeg""image/png""io""os""strings""golang.org/x/image/bmp""github.com/nfnt/resize")func main() {src := "data/1.gif"dst := strings.Replace...

weixin_36081891的博客 239

Shiori 如何把网页变成 EPUB 电子书与模糊背景缩略图:图像处理代码拆解

Shiori 是一个用 Go 语言构建的极简书签管理器(Simple bookmark manager built with Go)。除了收藏网页,它还有两个很实用的隐藏能力:把网页正文一键导出为 **EPUB 电子书**,以及为每条书签自动生成带**模糊背景**的缩略图。本文带你拆解 [internal/core/](https://link.gitcode.com/i/579898b1b336

gitblog_00317的博客 891

golang image 例子

golang处理图片挺简单的,我是过功能挺简单的,没有过一个缩略图方法. package main import ( "fmt" "os" "image" "image/color" "image/draw" "image/jpeg" ) func main() { f1, err := os

free0day的博客 225

golang:图片的切割与缩小

package main import ( "errors" "fmt" "image" "image/gif" "image/jpeg" "image/png" "io" "os" "strings" "golang.org/x/image/bmp" "github.com/nfnt/resize" ) func main() { src := "C:\\Users\\Administrator\\Pictures\\test.jpg" dst := strings.Re

OceanStar的博客 4455

【Golang实现文件服务器】(二)图片去重与缩略图功能

距离第一次写这个文章已经很久了。 这段时间里基于常用的应用场景,进一步丰富了文件服务器的功能。主要做了如下工作: 现在可以自动检查重名文件是否重复,并自动重命名。 现在可以提供三种缩放方式获取缩略图 优化了代码结构 很惭愧,就做了这三个微小的工作。 ###文件去重 基于现有的应用场景,首先要求便于部署,其次对存储效率及性能要求不高。在此前提下不适用适用数据库的方式管理文件。所以去重工作仅限于重...

weixin_34228662的博客 1066

突破内存瓶颈:AList缩略图生成功能的深度优化实践

在文件管理系统中,缩略图生成常面临高内存占用问题。AList作为支持多存储源的文件列表应用,其缩略图功能在处理大量图片时可能出现内存溢出。通过对internal/fs/thumbnail.go源码分析,发现主要瓶颈在于: - 未限制并发处理数量 - 图片解码未设置尺寸限制 - 缓存策略缺乏内存回收机制 ## 优化方案:三级内存控制体系 ### 1. 并发请求限流 通过引入令牌桶算法控制同时处理...

gitblog_00585的博客 381
上一篇: Mac Nginx Mysql 常用操作命令及位置
下一篇: VsCode 常用拓展
Webben
博客等级 码龄10年 19粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值