Go语言学习笔记-A Tour of Go 练习笔记-Images

news2024/11/27 20:58:59

Exercise: Images

练习题目:

Remember the picture generator you wrote earlier? Let's write another one, but this time it will return an implementation of image.Image instead of a slice of data.

Define your own Image type, implement the necessary methods, and call pic.ShowImage.

Bounds should return a image.Rectangle, like image.Rect(0, 0, w, h).

ColorModel should return color.RGBAModel.

At should return a color; the value v in the last picture generator corresponds to color.RGBA{v, v, 255, 255} in this one.

联系程序:

package main

import "golang.org/x/tour/pic"
import "image"
import "image/color"

type Image struct {
}

func (i Image) ColorModel() color.Model {
    return color.RGBAModel
}

func (i Image) Bounds() image.Rectangle {
    return image.Rect(0, 0, 255, 255)
}

func (i Image) At(x, y int) color.Color {
    return color.RGBA{(uint8)(x+y), (uint8)(x+y), 255, 255}
}

func main() {
	m := Image{}
	pic.ShowImage(m)
}

运行结果:

 学习笔记:该题目通过为结构体Image实现Go中Image接口定义的三个方法,从而达到生成一张自定义图片的功能。ColorModel定义图片的色彩模型,Bounds定义图片的大小,At定义了图片中每个点的颜色值(程序中,每个点的颜色值是通过点位坐标(x,y)相加获得,也可以修改为x*y等取值方式)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/51544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

您的推特营销选对群控了吗

作为跨境电商从业者,我们都知道,如果平台检测到违规,最多的是多账号关联。平台怎么判定我们的账号是否关联呢?一个重要的依据是浏览器的指纹信息。 一、进行站外引流的困难有哪些: 国内用户在推广海外社交媒体时&…

【OpenCV-Python】教程:3-10 直方图(4)直方图反向投影

OpenCV Python 直方图 反向投影 【目标】 直方图反向投影calcBackProject 【原理】 用于图像分割和查找感兴趣目标。简单的说,会创建一个与输入图像同样大小的图像(单通道),每个像素对应像素属于目标的概率。更简单的说就是&am…

pdf文件丢失怎么办?别慌,详细介绍4种恢复方法

pdf文件丢失怎么找到?别慌,停止往电脑上写入新的内容,重要的事情说三遍!下面,我们将会向您详细介绍在pdf文件丢失后的多种方法,请继续阅读以获得更多帮助! 方法1.运用Windows搜索功能 很多时候…

运放参数-共模输入范围-运算放大器

运放共模输入范围 根据实际的应用我们会选择一个运算放大器(op amp),选型过程中工程师会考虑一些参数可例如:电源电压、增益带宽积、输入共模范围、转换速率和输入噪声电压等等。 在本篇文章中重点介绍了运放的输入共模范围的定…

Codeforces Round #724 (Div. 2) C. Diluc and Kaeya

翻译: 蒙德施塔特一个酒庄帝国的大亨,在任何方面都无可匹敌。法佛尼乌斯骑士团中具有异域外表的思想家。 这一次,兄弟俩要处理的是一块刻着他们名字的奇怪木头。这块木板可以表示为一串𝑛字符。每个字符不是“D”就是“K”。您希…

Activiti7工作流(一)

工作流介绍 工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。 案例: 出差费…

视频编解码 — 码控算法

目录 码控算法 码控算法的类型 具体操作过程如下 复杂度求解 帧组级 帧级 GOM级 码控算法 用算法来控制编码器输出码流的大小,码控就是为一帧图像选择一个合适的QP值的过程。 一帧图像的画面确定了之后,画面的复杂度和QP值几乎决定了编码之后的…

float32转float16

背景 当下做AI基本都用float16进行推理,目前用的比较多的还有bfloat16, 这里我们只讨论float16的这个数据类型。float16有个优点是大部分的GPU或者部分CPU支持float16的计算,速度快于float32, 此外显存或者内存也可以减少一半,基于这个特点&…

2022年12月1日最新的SqlServer安装教程

文章目录1、在线安装文件下载2、下载安装包3、下载安装SSMS1、在线安装文件下载 (1)进入官网地址,点击下载:SqlServer下载 (2)等待下载结束,大约几M (3)打开下载的.ex…

Spring Security基于jwt实现权限校验

一 引言 在基于springsecurity和jwt实现的单体项目token认证中我实现了基于jwt实现的认证,本文在此基础上继续实现权限认证 用户认证成功后携带jwt发起请求,请求被AuthenticationFilter拦截到,进行jwt的校验jwt校验成功后,调用JwtAuthenticationProvider从jwt中获得权限信息…

一个分布在多次Softmax后,会趋于相同

本文其实是我在知乎上无意中翻到的一条提问:softmax到底有哪些作用?,其中苏剑林大佬关于第四个问题的回复,给我产生了一些思考。为什么一个分布在多次Softmax之后,每个值会趋于相同?例如[1,100]在大约10次S…

[附源码]JAVA毕业设计高校心理咨询预约系统(系统+LW)

[附源码]JAVA毕业设计高校心理咨询预约系统(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目…

新建esp32的vscode工程的三种方式

普通的idf工程在vscode下直接打开的时候,会发现很多头文件都是报错的,一些函数/类型等的定义也无法找到,比较影响阅读: 因此在vscode上开发esp32的时候,最好为这个工程提供vscode的支持,以下是三种实现的…

商务部研究院信用所、启信宝联合发布《中国商务信用发展指数报告(2022)》

近期,商务部国际贸易经济合作研究院信用研究所与合合信息全资子公司上海生腾数据科技有限公司(简称“生腾数据”)联合发布了《中国商务信用发展指数报告(2022)》(简称《报告》)。为准确反映中国…

NLP中的对抗训练(附PyTorch实现)

对抗样本的基本概念 要认识对抗训练,首先要了解"对抗样本",它首先出现在论文Intriguing properties of neural networks之中。简单来说,它是指对于人类来说"看起来"几乎一样,但对于模型来说预测结果却完全不…

[附源码]JAVA毕业设计公务用车管理智慧云服务监管平台(系统+LW)

[附源码]JAVA毕业设计公务用车管理智慧云服务监管平台(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…

[附源码]Python计算机毕业设计SSM蓝色港湾房产交易与租赁系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

最近基于深度学习大火的AIGC将会抢原创工作者的饭碗?

NLG | CLIP | Diffusion Model GAN | AIGC | Stable Diffusion 随着CLIP、DALLE、Diffusion Model、Magic3D、Stable Diffusion等技术的快速发展,AIGC在全球各大科技巨头间可谓是高频词汇,连带着AI这个老生常谈的话题也一并火热起来。 去年三月&#xf…

【R】R包MethylCal安装问题解决 Rtools is required to build R packages

文章目录写在前面问题描述解决过程【1】安装INLA【2】安装Rtools写在前面 吐槽一番: 一般情况下,不是在万不得已,真心不想用R,最让人望而却步的就是包的安装问题,动不动就出现版本不兼容问题,或者下载这个…

Chapter9.5:线性系统的状态空间分析与综合考研参考题

此系列属于胡寿松《自动控制原理题海与考研指导》(第三版)习题精选,仅包含部分经典习题,需要完整版习题答案请自行查找,本系列属于知识点巩固部分,搭配如下几个系列进行学习,可用于期末考试和考研复习。 自动控制原理(…