rect

换个语言学一下 Golang (9)——结构体和接口

a 夏天 提交于 2020-04-06 20:33:30
基本上到这里的时候,就是上了一个台阶了。Go的精华特点即将展开。 结构体定义 上面我们说过Go的指针和C的不同,结构体也是一样的。Go是一门删繁就简的语言,一切令人困惑的特性都必须去掉。 简单来讲,Go提供的 结构体 就是把 使用各种数据类型定义 的 不同变量组合起来 的 高级数据类型 。闲话不多说,看例子: type Rect struct { width float64 length float64 } 上面我们定义了一个矩形结构体,首先是关键是 type 表示要 定义一个新的数据类型了 ,然后是新的数据类型名称 Rect ,最后是 struct 关键字,表示这个高级数据类型是结构体类型。在上面的例子中,因为 width和length的数据类型相同 ,还可以写成如下格式: type Rect struct { width, length float64 } 好了,来用结构体干点啥吧,计算一下矩形面积。 package main import ( "fmt" ) type Rect struct { width, length float64 } func main() { var rect Rect rect.width = 100 rect.length = 200 fmt.Println(rect.width * rect.length) } 从上面的例子看到

基于pygame开发的口红挑战升级游戏

北慕城南 提交于 2020-04-06 10:16:15
游戏简介及操作 : 1.游戏分为五关,每关限时60秒。 2.游戏每关难度递增。 3.口红命中一个,增加10分。 4.口红命中重复位置即为失败。 开发工具 :Pycharm 游戏截图 : 游戏制作步骤 一、准备素材 搜集素材以及字体 二、游戏初始设置 1.设置游戏屏幕大小,游戏界面标题 SCREEN_WIDTH = 480 SCREEN_HEIGHT = 800 pygame.init() screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) # 游戏界面标题 pygame.display.set_caption('口红挑战') image_dir = 'image/lipstick/' ttf_dir = 'ttf/' index_background = pygame.image.load(image_dir+'index_background.jpg') index_background = pygame.transform.scale(index_background, (SCREEN_WIDTH, SCREEN_HEIGHT)) lipstick_head = pygame.image.load(image_dir+'lipstick_head.png') lipstick_head = pygame

pygame-打飞机游戏

泪湿孤枕 提交于 2020-04-06 05:54:19
通过左右键控制飞机移动 import pygame from sys import exit from pygame.locals import * import random # 定义类 SCREEN_WIDTH = 480 SCREEN_HEIGHT = 800 TYPE_SMALL = 1 TYPE_MIDDLE = 2 TYPE_BIG = 3 # 子弹类 class Bullet(pygame.sprite.Sprite): def __init__ ( self , bullet_img , init_pos): pygame.sprite.Sprite. __init__ ( self ) self .image = bullet_img self .rect = self .image.get_rect() self .rect.midbottom = init_pos self .speed = 10 def move ( self ): self .rect.top -= self .speed # 玩家类 class Player(pygame.sprite.Sprite): def __init__ ( self , plane_img , player_rect , init_pos): pygame.sprite.Sprite. __init__ (

兼容好的JS图片上传预览代码

*爱你&永不变心* 提交于 2020-04-06 01:08:58
转 : http://www.codefans.net/articles/1395.shtml 兼容好的JS图片上传预览代码 (谷歌,IE11) <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>本地图片预览</title> <style type="text/css"> #preview{width:100px;height:100px;border:1px solid #000;overflow:hidden;} #imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);} </style> <script type="text/javascript"> function previewImage(file) { var MAXWIDTH = 100; var MAXHEIGHT = 100; var div = document.getElementById('preview'); if (file.files && file.files[0]) { div.innerHTML = '<img id=imghead>'; var img = document.getElementById(

Flutter裁剪图片

喜欢而已 提交于 2020-04-04 06:00:10
最近在学习中需要用到裁剪图片,记录一下解决方法 思路: 使用canvas的drawImageRect()方法,对Image进行裁剪,这里的Image需要 'dart:ui' 库中的Image。 1. canvas的drawImageRect()方法 drawImageRect(Image image, Rect src, Rect dst, Paint paint) → void    ①第一个参数是'dart:ui' 库中的Image。 ②第二个参数为你需要截取的矩形Rect,举个栗子:截取一张图片,原图的宽高分别为w和h, 将第二个参数设置为: Rect.fromLTRB(0, 0, w/2, h/2)    意思就是从原图片中截取一个矩形,矩形的坐标从(0.0)到(w/2, h/2)。 这里的是fromLTWH意思是指定left,top,right,bottom坐标,通过指定四个点来获取矩形 ③第三个为目标矩形Rect,即你想要在canvas上绘制的区域, 举个栗子:接着上面所讲的,将第三个参数设置为 Rect.fromLTWH(0, 0, 100, 100), paint);    意思就是将上面截取的矩形,在canvas的(0,0)坐标开始绘制,绘制的宽和高为100, 这里的是fromLTWH意思是指定left和top坐标,并设置宽高来获取矩形 ④第四个参数为画笔。 2.

训练自己的数据遇到的问题

拥有回忆 提交于 2020-03-29 17:15:11
先按VOC数据集做好了自己的数据集。 1. 训练faster rcnn时出现如下报错: File "/py-faster-rcnn/tools/../lib/datasets/imdb.py", line 108, in append_flipped_images assert (boxes[:, 2] >= boxes[:, 0]).all() AssertionError编了代码查找标签坐标,发现确实存在坐标为0的情况,说明标签生成是0-base(以0为基准)。 标准的VOC2007 的矩形标注坐标是以1为基准的(1-based),而在处理图像坐标都是0起始的(0-based)。 所以在faster rcnn源码中才要对从xml文件中读取的xmin,ymin,xmax,ymax 统统减1将坐标变为我们做数据处理时所需要的0-based坐标。 如果Xmin为0,减一后变为65535。 (不推荐修改源码)我把xml文件中的xmin,ymin,xmax,ymax全部+1处理。 # py-faster-rcnn/lib/datasets/pascal_voc.py (line 207) # Make pixel indexes 0-based x1 = float(bbox.find('xmin').text) - 1 y1 = float(bbox.find('ymin').text

18 11 08 游戏学习完成

不羁岁月 提交于 2020-03-28 07:46:52
pygame 中最最后一步 就是 飞机大战中的碰撞检测 pygame中的 碰撞检测 分成两种     1 pyagme.sprites.groupcollide (group1 ,group2, dokill1,dokill2) 后两个 是看对象会不会消失     相对于两个 精灵组的 的碰撞检测     对于pygame 提供的 key_sspress 不太了解     开始游戏已经成功运行 可以在水平方向上左右移动 可是添加了y 变量后 飞机的上下左右开始斜着飞 在查阅了其他小白的笔记后 发现 我的妈啊 都这么长 于是又来想想 还是放弃了python的简并性 直接在主程序中添加了飞机的代码 # 使用键盘提供的方法获取键盘按键 - 按键元组 keys_pressed = pygame.key.get_pressed() # 判断元组中对应的按键索引值 1 if keys_pressed[pygame.K_RIGHT]: self.hero.rect.x += 1 elif keys_pressed[pygame.K_LEFT]: self.hero.rect.x -= 1 elif keys_pressed[pygame.K_UP]: self.hero.rect.y -= 1 elif keys_pressed[pygame.K_DOWN]: self.hero.rect.y

封装js

痴心易碎 提交于 2020-03-27 05:18:58
1. 定义js类 js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类. ===============该文转自=========== http://www.jb51.net/article/21197.htm ============================== 复制代码 代码如下: function ShapeBase() { this.show = function() { alert("ShapeBase show"); }; this.init = function(){ alert("ShapeBase init"); }; } 这个类里定义了两个方法:show和init, 需要注意的是这里用到了this来声明, 而不是var, 因为用var是用来定义私有方法的. 另外, 我们还可以用prototype属性来定义Shape的方法. 复制代码 代码如下: ShapeBase.prototype.show=function() { alert("ShapeBase show"); } ShapeBase.prototype.init=function() { alert("ShapeBase init"); }

EasyPlayerPro Windows播放器电子放大/局部放大播放功能实现

╄→尐↘猪︶ㄣ 提交于 2020-03-23 23:22:07
背景描述 在视频监控软件中,我们看到很多的软件都有电子放大功能, 按住鼠标左键不放,框选一个区域,再松开鼠标左键,即对选中的区域进行放大显示, 且可以重复该操作,逐步放大所需显示的区域, 有没有觉得,这个功能在视频监控软件中还是有他的用武地. 今天我们就来实现该功能; 实现流程 //设置电子放大起起始点 int SetElectronicZoomStartPoint(int channelId, float fXPercent, float fYPercent, unsigned char showBox); //设置电子放大结束点(在鼠标移动过程中可一直调用该函数) int SetElectronicZoomEndPoint(int channelId, float fXPercent, float fYPercent); //设置是否放大显示 int SetElectronicZoom(int channelId, int zoomIn); //复位 void ResetElectronicZoom(int channelId); //直接设置显示区域,用于电子放大, 在某些场合, 需要直接进行缩放显示, 即可调用该函数实现 int SetRenderRect(int channelId, LPRECT lpSrcRect); 代码实现 int ChannelManager:

2D游戏作业:Pygame的精灵使用

谁说我不能喝 提交于 2020-03-23 17:45:13
3 月,跳不动了?>>> 程序介绍: pygane.sprite.Sprite是Pygame里面用来实现精灵的一个类,使用时并不需要对它实例化,只需要继承它,然后按需写出自己的类,因此非常简单实用。 开发工具:Visual Studio Code 代码参考: import pygame from pygame.locals import * class MySprite(pygame.sprite.Sprite): def __init__(self,target): pygame.sprite.Sprite.__init__(self) self.sprite_surface=target self.image=None self.master_image=None self.rect=None self.topleft=0,0 self.frame=0 self.old_fram=-1 self.fram_width=1 self.fram_height=1 self.first_fram=0 self.last_fram=0 self.columns=1 self.last_time=0 def load(self,filename,width,height,columns): self.master_image=pygame.image.load(filename)