#!/usr/bin/pythonfrom PIL import Image ,ImageDraw, ImageFont#打开所在的文件im=Image.open('test.jpg')#获取图片对象的宽和高w,h=im.size#创建对象,把字体设置为高的1/4,如果数字多为个位应该加小点font = ImageFont.truetype('/Library/Fonts/arial.ttf', int(h/4))# 绘制圆形,第一个参数界定绘制区域,我选择了宽高为原图1/3的右上角区域# 不难
编程语言
python做的 QQ未读消息图像
Java:多线程之生产者与消费者
要求:用两个线程模拟存票.售票过程.但要求每存入一张票,就售出一张票,售出后,再存入,直到售完为止. 用到的知识点:线程等待.唤醒.可能的线程中断异常 下面的方式一和方式二采用的是唤醒所有等待的线程,即wait()和notify()方法 方式一:继承Thread class Tickets //定义(资源)票类 { protected int size;//总票数 int number=0; //票号 Boolean available=false;//表示当前是否有票可售 public Tic
Unity3d 双摇杆 easyTouch
首先创建一个摇杆的实例 我这里修改名称为Move 复制一下 命名为 Rotate 勾选动态显示,这样用户点击后才会显示摇杆(现在摇杆游戏都是动态显示) 设置摇杆的位置(一个在左下,一个在 右下) 点击后如图 在屏幕的左下方点击 角色的移动直接用摇杆来控制玩家的(x ,z) 别忘了设置速度,这样运行下去,玩家就能随着摇杆进行移动 *********************************************************************** 旋转我们用代码来控制 首
[C++程序设计]字符数组的赋值与引用
只能对字符数组的元素赋值,而不能用赋值语句对整个数组赋值. char c[5]; c={′C′,′h′,′i′,′n′,′a′}; //错误,不能对整个数组一次赋值 c[0]=′C′; c[1]=′h′;c[2]=′i′;c[3]=′n′;c[4]=′a′; //对数组元素赋值,正确 如果已定义了a和b是具有相同类型和长度的数组,且b数组已被初始化,请分析: a=b; //错误,不能对整个数组整体赋值 a[0]=b[0]; //正确,引用数组元素 字符串和字符串结束标志 常量来初始化字符数组.例
python基础之模块二
六 logging模块 6.1 函数式简单配置 import logging #导入模块 logging.debug('debug message') #调试消息 logging.debug('info message') #导入消息 logging.debug('warning message') #警告消息 logging.error('error message') #错误消息 logging.critical('critical message') #严重信息 默认情况下python的l
maven本地仓库中存在jar包,但编译不成功,显示jar包不存在
介绍一下背景,项目要迁移进坑人的离线的内网开发,将在同事那编译通过的代码和maven仓库拷进内网,打算编译通过之后再上传私服,结果配好maven之后,本地库中的部分jar包显示没有引入,如下面的波浪线 想到可能是idea提示的不正确,直接编译吧,结果编译失败,主要错误信息如下 [ERROR] Failed to execute goal on project zeus-common-redis: Could not resolve dependencies for project com.hsj
后缀数组题目整理
最近在跟着 罗穗骞 的论文学习后缀数组, 不亏是神牛的论文.无论是算法讲解,还是习题举例都非常不错.下面把最进做的几道后缀数组整理一下. 1.两字符串的最长公共子串 1 #include <stdio.h> 2 #include <iostream> 3 #include <algorithm> 4 #include <sstream> 5 #include <stdlib.h> 6 #include <string.h> 7 #in
java-AbstractCollection类-源码解析
转载:原文地址 http://www.cnblogs.com/android-blogs/p/5566212.html 一.Collection接口 从<Java集合:整体结构>一文中我们知道所有的List和Set都继承自Collection接口,该接口类提供了集合最基本的方法,虽然List接口和Set等都有一些自己独有的方法,但是基本的操作类似.我们先看下Collection接口提供的方法: 总体上可以将Collection的方法分为以下几大类: 1.增加(add/addAll) 2.删除(
Go语言之切片
切片也是一种数据结构,它和数组非常相似,因为他是围绕动态数组的概念设计的,可以按需自动改变大小,使用这种结构,可以更方便地管理和使用数据集合. 内部实现 切片是基于数组实现的,它的底层是数组,它自己本身非常小,可以理解为对底层数组的抽象.因为机遇数组实现,所以它的底层的内存是连续非配的,效率非常高.它还有可以通过索引获得数据.可以迭代以及垃圾回收优化的好处. 切片对象非常小,是因为它是只有 3 个字段的数据结构:一个是指向底层数组的指针,一个是切片的长度,一个是切片的容量.这 3 个字段,就是G
Python学习笔记16:标准库多线程(threading包裹)
Python主要是通过标准库threading包来实现多线程. 今天,互联网时代,所有的server您将收到大量请求. server要利用多线程的方式的优势来处理这些请求,为了改善网络port读写效率. Python它是一个网络server后台工作语言 (豆瓣网),所以多线程也就非常自然被Python语言支持. 多线程售票以及同步 我们使用Python来实现Linux多线程与同步文中的售票程序. 我们使用mutex (也就是Python中的Lock类对象) 来实现线程的同步: import th
【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需.主要记录使用过程的常见问题及解决. python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可从这里下载https://pyp
Selenium2+Python自动化测试实战
本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用.后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的学习和应用,有一次在网上随意搜索,找到了-虫师-写的<Selenium2自动化测试实战基于Python语言>,觉得真心不错,内容也很调理,为了方便自己学习和知识的整理,就把其中虫师编写的自动化项目教程整理一下,有兴趣的可以去参看虫师的博客http://www.cnblogs.com/fnng/ 以
maven仓库添加自己的jar包
mvn install:install-file -Dfile=D:\JAR_LIB\pinyin4j-2.5.0.jar -DgroupId=net.sourceforge.pinyin4j -DartifactId=pinyin4j -Dversion=2.5.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
go的数组和切片
对于GO的数组和切片的初步了解, 切边是数组的一个指针,切片的初始化有三种:一种是通过make,即 slice := make([]int,5,10) 另一种是通过:=指向一个已经存在的数组.即 slice := []int {1,2,3,4,5,6} 切片的切片不可初始化超过原始切片的cap值,比如: sliceA := make([]int,5,10) sliceB := sliceA[:11] 这个是不行的,11超过了sliceA的cap值(10),会报运行时异常. 对切片的append,
线程、进程、携程理解
并发与并行 并发 拥有处理多个任务的能力.对于单核CPU来说,只能处理并发 并行 拥有同时处理多个任务的能力,对于多核CPU,即可以并发和并行 同步与异步 同步和异步强调的是消息通信机制 同步 如果一个人这样处理:先烧水,烧水的过程中啥也不干,就一直等着,等水开后,再把茶叶放到开水壶中.这种处理方法就是同步处理 也就是说,一个任务需要多步执行,如果上一步没有执行结束,那么下一步任务就一直等待.等到上一步任务完成后(一般会有结果),下一步的任务才继续执行 在计算机中:如果一段代码A的执行中需要调用
RabbitMQ整合spring
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.o
C语言高级应用---操作linux下V4L2摄像头应用程序
我们都知道,想要驱动linux下的摄像头,其实很简单,照着V4L2的手册一步步来写,很快就可以写出来,但是在写之前我们要注意改变系统的一些配置,使系统支持framebuffer,在dev下产生fb0这样的节点,这样我们才能在linux系统上操作Camera摄像头,framebuffer在之前的博文已经有说过了,这里就不再提了. 有需要了解framebuffer的那么请点击:http://baike.baidu.com/view/3351639.htm 最重要的,我们需要改一个脚本,在/dev/g
Java通过JNI调用C的一个小DEMO
最近看java源代码,发现很多方法用native修饰,那么什么事native方法呢? 简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C.这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调 今天做项目用到了一个非常有意思的东东,上网查了下资料,需求是点击某一个键使屏幕常亮不锁屏.
【spring教程之五】spring通过存取方法注入
1.通过在xml中配置,并且通过bean的存取方法进行注入. <bean id="jack" class="com.test.pro.Singer"> <property name="age" value="20"></property> <property name="name" value="jack"></property>
mybatis异常:Could not find result map Java.util.Map 问题分析及解决 定位不到具体的位置的错误
mybatis异常:Could not find result map Java.util.Map 问题分析及解决 错误写法 <select id="queryXXXCount" resultMap="java.util.Map" > mybatis报出的异常日志:org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.util.Map a