屏幕物理直尺壁纸源码

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
#需要pillow库支持
#此版本增加了刻度精度

#XR=(828*1792,139.9)
#14=(1170,2532,139.7mm)
#151,2340*1080

D= 145
#屏幕物理尺寸(mm)

X,Y= 1080,2280
#屏幕分辨率(pixel)

name= "vivo z3"
#设备型号名称

path = ('/System/Library/Fonts/LanguageSupport/PingFang.ttc')
font = ImageFont.truetype(path,50)
#设置字体和大小

image= Image.new("RGB",(X,Y),(250,250,250))
draw= ImageDraw.Draw(image)
pixel= image.load()
#创建画布对象

for mm in range(11,int(D//10)*10,1):
  pi= (mm/D)*Y
  #计算1mm有多少个像素
  if(mm%5==0):
    z= 120
  else:
    z= 80
  #检测每段5mm处分别绘制长度
  draw.line([0,pi,z,pi],
    fill=(0,0,0),
    width=2)
  #绘制mm刻度线

for cm in range(10,int(D),10):
  pi= (cm/D)*Y
  #计算1cm有多少个像素
  draw.line([0,pi,200,pi],
    fill=(255,0,0),
    width=2)
  #绘制cm刻度线
  
  S= str(cm//10-1)
  fx= font.getoffset(S)[1]
  zx,zy= font.getsize(S)
  zy= (zy-fx)
      
  draw.text(xy= (fx+200,pi-zy),
  text= S,
  font=font,
  fill= '#000000')
  #刻度文字绘制

draw.rectangle(xy=(X/2,0,X,Y),
  fill="#1a797c",
  outline="red", 
  width=4)
#绘制限定缩放矩形
      
draw.text(xy= (X/2+50,Y/2),
  text= name,
  font=font,
  fill= '#ffffff')
#绘制机型

font = ImageFont.truetype(path,20)
#重新设置字体大小

draw.text(xy= (X/2,10),
  text= str(D)+"mm"+":"+str(X)+"*"+str(Y),
  font=font,
  fill= '#ffffff')
#绘制图片屏幕参数

  
image.show()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值