Go指南练习之《图片》(Images)
Go官网指南
练习原文
还记得之前编写的图片生成器吗?现在来另外编写一个,不过这次将会返回 image.Image 来代替 slice 的数据。自定义的 Image 类型,要实现必要的方法,并且调用 pic.ShowImage。Bounds 应当返回一个 image.Rectangle,例如 `image.Rect(0, 0, w, h)`。ColorModel 应当返回 color.RGBAModel。At 应当返回一个颜色;在这个例子里,在最后一个图片生成器的值 v 匹配 `color.RGBA{v, v, 255, 255}`。
关键信息
// 1 先了解官方 image的结构type Image interface {/**颜色模式*/ColorModel() color.Model/**图片边界*/Bounds() Rectangle/**某个点的颜色*/At(x, y int) color.Color
}// 2 重点是实现 Image的方法,这样就可以自己使用了
代码
package mainimport ("golang.org/x/tour/pic""image""image/color"
)
// 1 新建构造体type Image struct{}// 2 实现官方image的三个方法func (i Image) ColorModel() color.Model {return color.RGBAModel
}func (i Image) Bounds() image.Rectangle {// 这里的200(宽 高)我写死了 仅仅是展示作用 正确做法是从 i 中获取 return image.Rect(0, 0, 200, 200)
}func (i Image) At(x, y int) color.Color {return color.RGBA{uint8(x), uint8(y), uint8(255), uint8(255)}
}func main() {// 可以自己设置宽高,传递进去m := Image{}// 3 调用pic.ShowImage(m)
}
运行结果
PS
真实效果
方式一
使用在线在线编译器,吧上面代码拷贝进去
方式二
本地操作显示图片,请参考Go指南练习之《slice》后续部分
Go指南练习之《图片》(Images)相关推荐
- 计算机未安装OCR应用程序,电脑应用指南 篇四:天若OCR使用指南(扫描图片转文字)...
电脑应用指南 篇四:天若OCR使用指南(扫描图片转文字) 2020-04-08 10:44:34 7点赞 82收藏 15评论 到了一个新的单位,每天需要面对的场景就是老板突然拿出一份文件对我说,你把这 ...
- latex入门指南:插入图片、表格、公式方法一览
省事链接: 生成表格latex代码:www.tablesgenerator.com 生成公式latex代码:www.latexlive.com 目录 1 插入图片 1.1 移动标题位置 1.2 双栏文 ...
- 更改图片位置_如何轻松快速地将图片转换到JPG/JPEG/PNG/BMP/TIFF
万兴优转可用作为图片转换器,帮助您批量更改图片格式,且不会丢失任何质量.例如,您可以将PNG转换到JPG或其他格式,反之亦然.您还可以通过更改图片宽度和高度来调整图片大小,或者通过裁剪,旋转,添加效果 ...
- 图片格式转换大小调整工具_如何轻松快速地将图片转换到JPG/JPEG/PNG/BMP/TIFF
万兴优转可用作为图片转换器,帮助您批量更改图片格式,且不会丢失任何质量.例如,您可以将PNG转换到JPG或其他格式,反之亦然.您还可以通过更改图片宽度和高度来调整图片大小,或者通过裁剪,旋转,添加效果 ...
- img解包打包工具_Python开发GUI实战:图片转换素描画工具!
奋斗没有终点好好学习72变,因为将来 没有人能替你阻挡81难 . 生如蝼蚁,当有鸿鹄之志: 命如纸薄,应有不屈之心 . ! 今天被这句话触动了,所以开篇分享给大家.鸡汤有毒,但有时大家却靠它激励自己继 ...
- Python开发GUI工具介绍,实战:将图片转化为素描画!
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- 用python画apc图_Python开发GUI实战:图片转换素描画工具!
奋斗没有终点好好学习72变,因为将来 没有人能替你阻挡81难 . 生如蝼蚁,当有鸿鹄之志: 命如纸薄,应有不屈之心 . ! 今天被这句话触动了,所以开篇分享给大家.鸡汤有毒,但有时大家却靠它激励自己继 ...
- 软件有效期如何实现_如何实现软件本地化:软件本地化流程的十条守则
唐能译牛:软件本地化,是指将软件产品的用户界面和辅助材料,从其原产国语言向另一种语言转化,使之适应某一外国语言和文化的过程.软件翻译和本地化是将软件产品推向全球市场的必要环节.唐能翻译提供的软件本地化 ...
- c++ log函数_高斯拉普拉斯算子(Laplacian of Gaussian, LoG)
一.简要描述: 拉普拉斯算子是图像二阶空间导数的二维各向同性测度.拉普拉斯算子可以突出图像中强度发生快速变化的区域,因此常用在边缘检测任务当中.在进行Laplacian操作之前通常需要先用高斯平滑滤波 ...
- 树莓派书籍全方位推荐
相关书籍 python编程篇 1.<Python硬件开发树莓派从入门到实践> 内容简介 作者简介 2.Python树莓派开发从入门到精通 内容简介 编辑推荐 3.树莓派Python编程入门 ...
最新文章
- 【转帖】如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值
- IDEA IntelliJ 如何给web项目配置tomcat
- lua的closure创建和使用
- 页面中嵌入了Flash时滚动条问题
- named 客户端无法解析_Outlook邮件附件无法直接打开?用这个办法轻松解决
- 北京内推 | 阿里云视频处理算法团队招聘视频处理算法实习生
- 026-微软Ajax异步组件
- java、oracle对CLOB处理
- Nginx之location配置
- Tina-TI 电路仿真下载、安装、简单功能介绍
- 两种方法递归斐波那契数列
- Android业务组件化之Gradle和Sonatype Nexus搭建私有maven仓库
- python调用按键精灵插件_按键精灵 插件命令 重中之重务必要记住怎么操作
- CXF学习(1)——CXF框架
- 一、Photoshop新版本(2019以后)常用快捷键总结、归纳
- Python 将tif文件分割成多个小tif
- HALCON 3D 激光三角校准-未完持续
- img lazyload chrome
- 问题描述 the jar file jrt-fs.jar has no source attachment
- Java网络 1.3 开发工具介绍
热门文章
- CSS - 使用CSS3制作3D文本
- ChatGPT还没玩明白,自主人工智能已经来了
- c#语言+计算两个位置的距离,C#计算两个经纬度之间的距离
- 商城系统商品属性的数据库设计思路
- python3的pip3安装【转载】
- 苹果系统和windows系统怎么切换_【电脑】在windows系统上安装苹果Mac系统
- MixFormer目标跟踪CVPR2022(代码调试)
- 高数篇(一)-- Gamma 函数 VS Beta 函数
- DVWA靶场练习(零)——靶场搭建和常见问题
- php closure($this),PHP 中的Closure