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)相关推荐

  1. 计算机未安装OCR应用程序,电脑应用指南 篇四:天若OCR使用指南(扫描图片转文字)...

    电脑应用指南 篇四:天若OCR使用指南(扫描图片转文字) 2020-04-08 10:44:34 7点赞 82收藏 15评论 到了一个新的单位,每天需要面对的场景就是老板突然拿出一份文件对我说,你把这 ...

  2. latex入门指南:插入图片、表格、公式方法一览

    省事链接: 生成表格latex代码:www.tablesgenerator.com 生成公式latex代码:www.latexlive.com 目录 1 插入图片 1.1 移动标题位置 1.2 双栏文 ...

  3. 更改图片位置_如何轻松快速地将图片转换到JPG/JPEG/PNG/BMP/TIFF

    万兴优转可用作为图片转换器,帮助您批量更改图片格式,且不会丢失任何质量.例如,您可以将PNG转换到JPG或其他格式,反之亦然.您还可以通过更改图片宽度和高度来调整图片大小,或者通过裁剪,旋转,添加效果 ...

  4. 图片格式转换大小调整工具_如何轻松快速地将图片转换到JPG/JPEG/PNG/BMP/TIFF

    万兴优转可用作为图片转换器,帮助您批量更改图片格式,且不会丢失任何质量.例如,您可以将PNG转换到JPG或其他格式,反之亦然.您还可以通过更改图片宽度和高度来调整图片大小,或者通过裁剪,旋转,添加效果 ...

  5. img解包打包工具_Python开发GUI实战:图片转换素描画工具!

    奋斗没有终点好好学习72变,因为将来 没有人能替你阻挡81难 . 生如蝼蚁,当有鸿鹄之志: 命如纸薄,应有不屈之心 . ! 今天被这句话触动了,所以开篇分享给大家.鸡汤有毒,但有时大家却靠它激励自己继 ...

  6. Python开发GUI工具介绍,实战:将图片转化为素描画!

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  7. 用python画apc图_Python开发GUI实战:图片转换素描画工具!

    奋斗没有终点好好学习72变,因为将来 没有人能替你阻挡81难 . 生如蝼蚁,当有鸿鹄之志: 命如纸薄,应有不屈之心 . ! 今天被这句话触动了,所以开篇分享给大家.鸡汤有毒,但有时大家却靠它激励自己继 ...

  8. 软件有效期如何实现_如何实现软件本地化:软件本地化流程的十条守则

    唐能译牛:软件本地化,是指将软件产品的用户界面和辅助材料,从其原产国语言向另一种语言转化,使之适应某一外国语言和文化的过程.软件翻译和本地化是将软件产品推向全球市场的必要环节.唐能翻译提供的软件本地化 ...

  9. c++ log函数_高斯拉普拉斯算子(Laplacian of Gaussian, LoG)

    一.简要描述: 拉普拉斯算子是图像二阶空间导数的二维各向同性测度.拉普拉斯算子可以突出图像中强度发生快速变化的区域,因此常用在边缘检测任务当中.在进行Laplacian操作之前通常需要先用高斯平滑滤波 ...

  10. 树莓派书籍全方位推荐

    相关书籍 python编程篇 1.<Python硬件开发树莓派从入门到实践> 内容简介 作者简介 2.Python树莓派开发从入门到精通 内容简介 编辑推荐 3.树莓派Python编程入门 ...

最新文章

  1. 【转帖】如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值
  2. IDEA IntelliJ 如何给web项目配置tomcat
  3. lua的closure创建和使用
  4. 页面中嵌入了Flash时滚动条问题
  5. named 客户端无法解析_Outlook邮件附件无法直接打开?用这个办法轻松解决
  6. 北京内推 | 阿里云视频处理算法团队招聘视频处理算法实习生
  7. 026-微软Ajax异步组件
  8. java、oracle对CLOB处理
  9. Nginx之location配置
  10. Tina-TI 电路仿真下载、安装、简单功能介绍
  11. 两种方法递归斐波那契数列
  12. Android业务组件化之Gradle和Sonatype Nexus搭建私有maven仓库
  13. python调用按键精灵插件_按键精灵 插件命令 重中之重务必要记住怎么操作
  14. CXF学习(1)——CXF框架
  15. 一、Photoshop新版本(2019以后)常用快捷键总结、归纳
  16. Python 将tif文件分割成多个小tif
  17. HALCON 3D 激光三角校准-未完持续
  18. img lazyload chrome
  19. 问题描述 the jar file jrt-fs.jar has no source attachment
  20. Java网络 1.3 开发工具介绍

热门文章

  1. CSS - 使用CSS3制作3D文本
  2. ChatGPT还没玩明白,自主人工智能已经来了
  3. c#语言+计算两个位置的距离,C#计算两个经纬度之间的距离
  4. 商城系统商品属性的数据库设计思路
  5. python3的pip3安装【转载】
  6. 苹果系统和windows系统怎么切换_【电脑】在windows系统上安装苹果Mac系统
  7. MixFormer目标跟踪CVPR2022(代码调试)
  8. 高数篇(一)-- Gamma 函数 VS Beta 函数
  9. DVWA靶场练习(零)——靶场搭建和常见问题
  10. php closure($this),PHP 中的Closure