Go语言中文网 为您找到相关结果 33

Golang-实现图片缩放

package main import ( "fmt" "graphics" "image" "image/png" "log" "net/http" "os" "strconv" "strings" ) func main() { http.HandleFunc("/", doImageHandler) http.ListenAndServe("127.0.0.1:6789", nil) } func doImageHandler(w http.ResponseWriter, r *http.Request) { fmt.Printf("%q\n", strings.Split(r.URL.Path, "/")) url := strings.Split(r.URL.Path, "/") ...阅读全文

博文 2015-02-28 09:32:36 nulijiabei

golang 图片处理,剪切,base64数据转换,文件存储

AUTH:PHILO VERSION:2 本文主要介绍: 图片文件的读写。 图片在go缓存中如何与base64互相转换 图片裁剪 本文中,为了方便查看,去掉所有错误判断 base64 -> file 12ddd, _ := base64.StdEncoding.DecodeString(datasource) //成图片文件并把文件写入到buffererr2 := ioutil.WriteFile("./output.jpg", ddd, 0666) //buffer输出到jpg文件中(不做处理,直接写到文件) datasource base64 string base64 -> buffer 12ddd, _ := base64.StdEncoding.DecodeString(datas...阅读全文

博文 2015-03-15 15:56:04 jianyingLi

Go语言圣经 2.2-浮点数

Go提供了两种size的浮点数,float32和float64。它们的算术规范是由IEEE754国际标准定义,现代CPU都实现了这个规范。 浮点数能够表示的范围可以从很小到很巨大,这个极限值范围可以在math包中获取,math.MaxFloat32表示float32的最大值,大约是3.4e38,math.MaxFloat64大约是1.8e308,两个类型最小的非负值大约是1.4e-45和4.9e-324。 float32大约可以提供小数点后6位的精度,作为对比,float64可以提供小数点后15位的精度。通常情况应该优先选择float64,因此float32的精确度较低,在累积计算时误差扩散很快,而且float32能精确表达的最小正整数并不大,因为浮点数和整数的底层解释方式完全不同,具体见I...阅读全文

博文 2016-03-18 18:00:39 abv123456789

golang 图片处理,剪切,base64数据转换,文件存储

本文主要介绍: 1. 图片文件的读写。 2. 图片在go缓存中如何与base64互相转换 3. 图片裁剪 本文中,为了方便查看,去掉所有错误判断 base64 -> file ddd, _ := base64.StdEncoding.DecodeString(datasource) //成图片文件并把文件写入到buffer err2 := ioutil.WriteFile("./output.jpg", ddd, 0666) //buffer输出到jpg文件中(不做处理,直接写到文件) datasource base64 string base64 -> buffer ddd, _ := base64.StdEncoding.DecodeString(datasource) //成图片文件并...阅读全文

博文 2016-06-15 09:00:00 satng

基于Minio和Thumbor搭建独立图片服务

多数应用系统都会用到图片存储,从系统架构角度来说,像图片存储这样的服务应该尽量从核心业务中剥离出来。很多人会选择在线云存储服务,比如七牛云存储之类的。但是很多企业项目因为各种需求,还是会要求图片服务部署在内部。所以我们还是可能会需要一个可独立部署的图片服务。 自己开发实现一套图片存储服务系统,会花不少功夫,但如果有现成的方案何乐而不为呢?我在Github上发现Minio和Thumbor这两个项目可以帮我们达成需求。 Minio Minio Cloud Storage是一个分布式对象存储系统。它是一个基于Go的开源项目,并且实现了Amazon S3的API。也就是说Minio相当于一个开源的Amazon S3。 使用docker安装可能是最省事的方式,两行命令即可安装下载并且运行起来。注意,这...阅读全文

博文 2017-03-11 11:01:06 fengluo

Git RPC 服务Gitaly

Gitaly是一个Git RPC服务,用于处理GitLab发出的所有git调用。目前Gitaly仍在发展。 我们期望它成为一个标准组件,并在2017年第三季度达到全覆盖。 **项目目标:** 制作大型GitLab实例的git数据存储层,特别是GitLab.com,速度快。 **这将通过关注两个领域(按此顺序)来实现:** 允许高效缓存 GitLab的Git数据层的弹性水平缩放 **由来:** 对于GitLab.com git访问很慢。 当查看Rugged :: Repository.new性能数据时,我们可以看到我们的P99峰值高达30壁秒,而CPU时间保持在15毫秒的范围内。 指向文件系统访问是罪魁祸首。 ![rugged.new timings](https://sta...阅读全文

开源项目 2017-03-06 18:01:11 网友

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

简单二次封装的golang图像处理库:图片裁剪 功能 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) 检测图像文件真正文件类型,并返回真实文件名,参数为图像文件位置 realfil...阅读全文

golang实现图片缩放服务器

测试地址 http://127.0.0.1:6789/1000/789.png http://127.0.0.1:6789/400/789.png 中间数字是图片尺寸 package main import ( "fmt" "graphics" "image" "image/png" "log" "net/http" "os" "strconv" "strings" ) func main() { http.HandleFunc("/", doImageHandler) http.ListenAndServe("127.0.0.1:6789", nil) } func doImageHandler(w http.ResponseWriter, r *http.Request) { fmt.P...阅读全文

博文 2015-10-21 04:00:02 zb_liang

极简图片服务器simple-image-server

simple image server 为简单而生 如今的互联网时代图片存储服务随处可见,实现方案也是五花八门,那么有没有一个开袋即食的方案呢?粗略找了一圈,[zimg](https://github.com/buaazp/zimg)似乎是我最想要的,但一看长长的依赖安装列表顿时望而却步,虽然开袋即可吃了,但这袋子也太难开了点,手撕牙咬都不行,感觉要上剪刀。 于是sis诞生了,如果你也有这需求,赶紧拿走,别无他求,给加个星吧。 **sis宪法:** 程序安装不需前置依赖 程序编译不需前置依赖 程序启动不需配置文件 **sis实现:** 为了遵守宪法,似乎用GO实现是最好的选择。预计实现这么一个简单功能不会需要多少代码,那么开始吧。。。。。。 上传接口:使用HTTP...阅读全文

开源项目 2018-08-11 08:30:03 网友

Kubernetes 分布式存储方案 Torus

Torus是一种针对容器集群量身打造的存储系统,可以为通过[Kubernetes](http://www.oschina.net/p/kubernetes)编排和管理的容器集群提供可靠可扩展的存储。这是继[etcd](http://www.oschina.net/p/etcd)、[rkt](http://www.oschina.net/p/CoreOS-rocket)、[flannel](http://www.oschina.net/p/rudder),以及CoreOS Linux之后CoreOS发布的另一个开源产品。 **Torus的架构** 现代化集群的存储必须在网络端维持统一的可用性,随着数据在不同容器中处理还需要管理访问并保障一致性,就算只是在一个应用程序内部使用,随着应用版本的...阅读全文

开源项目 2016-06-16 17:00:13 coreos

android开发中有哪些内存优化方法?

在android开发中,Process使用的内存是有限的,一旦超出了限定,程序就会跳异常。那这个问题如何避免呢?小编搜罗了一些比较好的方法,希望可以给大家一个借鉴吧。 1、不要Memory Leak 对于OOM,其实最重要的是注意不要Memory Leak。而Memory Leak是会有多个方面会引起的,比如Drawable, RemoteViews, Receiver, Cursor,InputStream, MediaPlayer等,此外,如果使用JNI也会因为C语言或C++的代码导致Memory Leak。 除了Memory Leak,大数据量的操作也会导致OOM,比如之前其他回答提到的Bitmap,还有ListAdapter,如果在getView时处理不当,也很容...阅读全文

Go语言中对图像进行缩放

由Google开发,简洁、高效、开源的Go语言日渐成为语言新宠。它专门针对多处理器系统应用程序的编程进行优化,使得Go编译的程序与C或C++代码的速度相媲美,且更安全、支持并行进程。Go语言在Go1版本上支持Windows, 苹果Mac OS X, Linux和FreeBSD操作系统。Go支持面向对象,而且具有真正的封装(closures)和反射 (reflection)等功能。在学习曲线方面,派克认为Go与Java类似,对于Java开发者来说,应该能够轻松学会 Go。同样,对于C#开发者来说,也很轻松学会GO语言。笔者对图形图像研究很感兴趣,让我们来看看Go语言中对图像进行缩放的解决方案:package resizeimport ( "image" "image/color")// ave...阅读全文

博文 2014-10-10 10:00:02 johnsuna

分布式文件服务 gmfs

golang 基于 [gridFs](http://www.oschina.net/p/gridfs) 的分布式文件服务。 支持:    1、POST GET 上传    2、图片大小控制    3、文件下载,秒传,转正处理    等 golang 基于 gridFs 的分布式文件服务 # Window 启动 mongodb 命令: mongod.exe --dbpath "C:\Program Files\MongoDB\data" # giraffe 启动: go run giraffe start # api 说明 code        响应编码 1000        正常消息 1001        异常消息 1002  ...阅读全文

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

版权所有,转载请注明:http://www.lenggirl.com/language/go-image-cut.html 一.功能 Go语言下的官方图像处理库 简单封装后对jpg和png图像进行缩放/裁剪的库 二.使用说明 1.首先下载 go get -v -u github.com/hunterhug/go_image 2.主要函数 按照宽度进行等比例缩放,第一参数是图像文件,第二个参数是缩放后的保存文件路径 err := ScaleF2F(filename, savepath, width) 按照宽度和高度进行等比例缩放,第一参数是图像文件,第二个参数是缩放后的保存文件路径 err = ThumbnailF2F(filename, save1path, width, height) 检...阅读全文

博文 2019-05-13 03:34:55 veeeeeeeeeeee

Go语言核心之美 2.2-浮点数

版权声明:本文为Sunface(孙飞)原创文章,转载请注明出处 https://blog.csdn.net/abv123456789/article/details/50904902 Go提供了两种size的浮点数,float32和float64。它们的算术规范是由IEEE754国际标准定义,现代CPU都实现了这个规范。 浮点数能够表示的范围可以从很小到很巨大,这个极限值范围可以在math包中获取,math.MaxFloat32表示float32的最大值,大约是3.4e38,math.MaxFloat64大约是1.8e308,两个类型最小的非负值大约是1.4e-45和4.9e-324。 float32大约可以提供小数点后6位的精度,作为对比,float64可以提供小数点后15位的精度。通常情...阅读全文

博文 2019-03-17 13:11:54 erlib

自适应网站制作教程

想必很多人都跟小编一样,第一次听到自适应网站这个词的时候,都感觉很陌生,不了解是什么,是一个什么类型的网站。那什么是自适应网站呢?前几年Ethan Marcotte提出了“自适应网页设计”这个名词,指的是可以自动识别屏幕宽度,做出相应调整的网页设计。其实简单来讲,自适应网站就是能够适应不同分辨率屏幕的网站,一站通行,不需要再为每一个不同屏幕大小的设备重新制作一个网站版本。那自适应网站该如何制作呢?自适应网站与响应式网站区别是什么? 一、允许网页宽度自动调整 首先,在网页代码的头部,加入一行viewport元标签。 ...阅读全文

利用Go语言上传图像并生成缩略图

承前文:Go语言中对图像进行缩放//利用Go语言上传图像并生成缩略图func upload(w http.ResponseWriter, req *http.Request, link string) { // Upload of a new image. // Copied from Moustachio demo. f, _, err := req.FormFile("image") if err != nil { fmt.Fprintf(w, "You need to select an image to upload.\n") return } defer f.Close() i, _, err := image.Decode(f) if err != nil { panic(err...阅读全文

博文 2015-06-17 23:01:29 johnsuna

图解kubernetes控制器HPA横向伸缩的关键实现

HPA是k8s中横向伸缩的实现,里面有很多可以借鉴的思想,比如延迟队列、时间序列窗口、变更事件机制、稳定性考量等关键机制, 让我们一起来学习下大佬们的关键实现 1. 基础概念 HorizontalPodAutoscaler(后面简称HPA)作为通用横向扩容的实现,有很多关键的机制,这里我们先来看下这些关键的的机制的目标 1.1 横向扩容实现机制 HPA控制器实现机制主要是通过informer获取当前的HPA对象,然后通过metrics服务获取对应Pod集合的监控数据, 接着根据当前目标对象的scale当前状态,并根据扩容算法决策对应资源的当前副本并更新Scale对象,从而实现自动扩容的 1.2 HPA的四个区间 根据HPA的参数和当前Scale(目标资源)的当前副本计数,可以将HPA分为如下...阅读全文

博文 2020-04-06 14:32:43 仔仔

Mesos 调度器Swan-Mesos

Swan 是一个基于 [mesos](https://www.oschina.net/p/apache+mesos) 的新 HTTP API,使用 golang 开发。你可以使用 swan 在 mesos 集群上部署应用程序,并管理应用程序的整个生命周期,还可以使用新版本进行滚动更新,扩展应用程序,并且可以在应用程序或服务不可用时对应用程序和自动故障转移进行运行状况检查。 应用程序开发 应用程序缩放 滚动升级 版本回滚 运行状况检查 自动故障转移 高可用性 构建 HTTP 代理,负载平衡 内置 DN...阅读全文

CSS实现三列图片等宽等间距布局

在css教程(http://www.maiziedu.com/course/web/421-5342/)中,使用css实现多列图片等宽等间距布局是很常用的,在进行web前端项目开发时会经常在网页中用到,下面就以三列图片等宽等间距为例讲解实现方法。 每个图片块左浮动,宽30%,左外边距2.5%:  100%=(2.5%+30%)+(2.5%+30%)+(2.5%+30%)+2.5%          阅读全文

Ubuntu 19.04 正式发布

Ubuntu 19.04 版于日前正式发布,代号「Disco Dingo」,中文翻译为“舞动的灵犬”(非官方)。这一版本的支持周期是九个月,结束于 2020 年 1 月。这一版本的 Ubuntu 由 Linux 5.0 版内核驱动,默认工具链已迁移至 glibc 2.29 / gcc 8.3。新的桌面版搭载了 GNOME 3.32 版,带来了效能提升以及分数倍缩放(GNOME 此前默认仅支持整数倍缩放)等特性改进。[yiji]关于名称[/yiji]Disco 这个词其实既是名词又是动词,常常指一种派对或者聚会,人们在闪耀的灯光下跳舞,而 “Dingo” 则是一种澳大利亚原生的野狗,它的颜色有点像沙滩上的沙子。Disco Dingo 合在一起,意即”舞动的灵犬“。以下是一些重要变化:[erji...阅读全文

博文 2019-05-18 21:35:01 肀肀

golang使用nfnt缩放图片

nfnt地址 https://github.com/nfnt/resize package main import ( "fmt" "github.com/nfnt/resize" "image/jpeg" "log" "os" ) func main() { // open "test.jpg" file, err := os.Open("C:\\Users\\cixu\\Desktop\\1\\5.jpg") if err != nil { log.Fatal(err) } // decode jpeg into image.Image img, err := jpeg.Decode(file) if err != nil { log.Fatal(err) } file.Close() ...阅读全文

博文 2019-01-27 20:34:43 次序

怎么制作HTML5页面让它适应电脑和手机的尺寸?

1、 利用meta标签 Meta标签主要用来描述一个HTML网页文档的属性,如作者、日期时间、网页描述、关键词、页面刷新等,它的Description和Keywords属性,可加入网站的关键字,让网页利于搜索引擎。 解释:Viewport指用户网页的可视区域,content中的“width”指的是虚拟窗口宽度,上面代码意为虚拟窗口/页面宽度初始比例为1,最小比例为1,最大比例为1,用户不可扩展,页面不可缩放。 以上标签只支持一种尺...阅读全文

Kubernetes 自动扩展工具Escalator

Escalator 是 Atlassian 开源的一款 Kubernetes 自动扩展工具,专为大批量或基于作业任务(job-based)的工作负载而设计。当集群需要按比例缩放时,无法强制释放和移动,Escalator 将确保在终止节点之前已在节点上完成了 pod 。它还针对集群扩展进行了速度优化,以确保 pod 不会处于挂起状态。 计算请求和容量,以确定是按比例扩容、缩容还是保持当前比例 在终止节点之前等待节点上的非守护进程 pod 已完成 可指定需要自动扩展的群组,以允许默认的 Kubernetes Autoscaler 继续扩展基于服务的工作负载 优先自动终止最老的节点 提供残留区,以确保在计划容器出现峰值时有额外空间 允许 cordoned nodes 持续进行调试 ...阅读全文

k8s与HPA--基于Kubernetes的事件驱动自动缩放

KEDA可以对事件驱动的Kubernetes工作负载进行细粒度的自动缩放(包括从零到零的自动缩放)。 KEDA充当Kubernetes Metrics服务器,允许用户使用专用的Kubernetes自定义资源定义来定义自动缩放规则。 KEDA可以在云和边缘上运行,可以与Kubernetes组件(例如Horizo​​ntal Pod Autoscaler)进行本地集成,并且没有外部依赖性。 工作原理 KEDA在Kubernetes中扮演着两个关键角色。首先,它充当代理来激活和停用部署,以在无事件的情况下从零扩展到零。其次,它充当Kubernetes指标服务器,将丰富的事件数据(例如队列长度或流滞后)暴露给水平Pod自动缩放器以推动横向扩展。然后由部署决定是否直接从源中使用事件。这样可以保留丰富的...阅读全文

博文 2019-10-27 21:32:48 iyacontrol

阿里云效团队大规模代码构建技术实践

摘要: Vega是一种大数据可视化的高效工具,本文以分析游隼的迁徙情况为例,展示了Vega工具的强大能力及易学易用特点。 目前我们处于信息时代,万物联网的时代已经到来。从我们的日常生活中可以发现,小到身边的智能家居,再到平时出行的共享单车、滴滴等打车软件等,无时无刻不在产生大量的数据。这几年的时间里产生的数据量,已经远远超过了历史上其它时间的总和。那么这么多的数据汇聚成一个大数据,如何对这些数据进行有效分析与加以利用就变得十分重要了,而大数据可视化是进行大数据分析的一把利器。 什么是大数据可视化呢,参考一些资料给出的定义如下,现代的数据可视化(Data Visualization)技术指的是运用计算机图形学和图像处理技术,将数据换为图形或图像在屏幕上显示出来,并进行交互处...阅读全文

Go语言核心之美 2.2-浮点数

Go提供了两种size的浮点数,float32和float64。它们的算术规范是由IEEE754国际标准定义,现代CPU都实现了这个规范。 浮点数能够表示的范围可以从很小到很巨大,这个极限值范围可以在math包中获取,math.MaxFloat32表示float32的最大值,大约是3.4e38,math.MaxFloat64大约是1.8e308,两个类型最小的非负值大约是1.4e-45和4.9e-324。 float32大约可以提供小数点后6位的精度,作为对比,float64可以提供小数点后15位的精度。通常情况应该优先选择float64,因此float32的精确度较低,在累积计算时误差扩散很快,而且float32能精确表达的最小正整数并不大,因为浮点数和整数的底层解释方式完全不同,具体见I...阅读全文

博文 2017-10-27 20:58:23 erlib

ASCIIPlayer : Golang写的ASCII码播放器

ASCIIPlayer : Golang写的ASCII码播放器 ASCIIPlayer是一个基于Image2ASCII的ASCII码播放器,可以播放图片,gif动图,视屏(还在开发中)等,提供了类库和命令行工具方便使用。 HomePage: https://github.com/qeesung/as... 欢迎Star 先上一个效果图 特性 支持在终端中播放一般的图片,比如PNG,JPEG,也支持播放GIF动图和视屏。 支持将一个图片,PNG,JPEG类型和GIF动图和视屏直接编码成为一个ASCII码图片。 支持搭建一个Http Server来分享ASCII图片到远程的一个客户端。 工作原理 首先将任何一个输入的文件通过解码器解码成个一个帧序列,不同的文件有不同的解码器,比如GIF文件有Gi...阅读全文

博文 2018-11-11 18:34:38 qeesung

Ubuntu 19.04 正式发布

Ubuntu 19.04 版于日前正式发布,代号「Disco Dingo」,中文翻译为“舞动的灵犬”(非官方)。这一版本的支持周期是九个月,结束于 2020 年 1 月。这一版本的 Ubuntu 由 Linux 5.0 版内核驱动,默认工具链已迁移至 glibc 2.29 / gcc 8.3。新的桌面版搭载了 GNOME 3.32 版,带来了效能提升以及分数倍缩放(GNOME 此前默认仅支持整数倍缩放)等特性改进。[yiji]关于名称[/yiji]Disco 这个词其实既是名词又是动词,常常指一种派对或者聚会,人们在闪耀的灯光下跳舞,而 “Dingo” 则是一种澳大利亚原生的野狗,它的颜色有点像沙滩上的沙子。Disco Dingo 合在一起,意即”舞动的灵犬“。以下是一些重要变化:[erji...阅读全文

博文 2019-05-18 21:35:00 肀肀

LollipopGo开源游戏服务器框架--调试tool使用说明

大家好,我是彬哥,本节给大家讲下LollipopGo v1.0.20190115版本游戏服务器网页调试工具使用说明,抛砖引玉了,主要是针对Go语言游戏服务器网页调试工具使用说明。 效果图: 效果图 步骤一 点击设置 配置链接地址(修改为网页调试地址) 点击设置 链接地址修改 步骤二 配置多屏,点击人数即可 配置多屏 步骤三 上源码 Golang语言社区 LollipopGo