使用pyhon绘图比较两个手机屏幕大小(实例代码)

yipeiwu_com6年前Python基础

背景:准备给长辈买个手机,有关手机大小,网购平台基本只有手机尺寸和分辨率的文本数据,因而对手机屏幕大小没有直观感受,虽然网上有比较手机大小的网站(百度搜索),但是只有知名的手机才有数据,因而自己动手写了个python脚本,根据手机的尺寸及分辨率,利用tkinter绘图直观比较两个手机屏幕的大小。

目前遇到的问题是:tkinter绘图设置是左上角和右下角坐标,人的阅读习惯是左下角和右上角,还不知道解决。

直接丢代码,效果图在文末:

import tkinter,math
 #手机一参数设置:
first_phone = (7.2,2244,1080) #(尺寸,分辨长,分辨宽)
#手机二参数设置:
second_phone =(6.59,2340,1080) #(尺寸,分辨长,分辨宽)
def calc_phone(phone_info):#参数为手机信息(尺寸,分辨率长,分辨率宽)
  diagonal,res_l,res_w = phone_info
  #计算宽度
  w = math.sqrt(
    math.pow(diagonal, 2)*math.pow(res_w,2)/(math.pow(res_w,2)+math.pow(res_l,2))
    )
  #计算长度
  l = math.sqrt(math.pow(diagonal, 2)-math.pow(w,2))
  return l,w  
#创建窗口
window = tkinter.Tk()
#窗口标题
window.title(f'手机大小对比          蓝色({first_phone[0]}尺寸),黑色({second_phone[0]}尺寸)')
#创建画布
canvas = tkinter.Canvas (window,width=600,height=800,bg="white")
#绘制矩形a,b,c,d值为左上角和右下角的坐标),填充颜色:blue,边框颜色:blue
a = 100 
c,d = calc_phone(first_phone)
canvas.create_rectangle(a,a,a+100*d,a+100*c,outline='blue')#手机一
c,d = calc_phone(second_phone)
canvas.create_rectangle(a,a,a+100*d,a+100*c)#手机二
#包装画布
canvas.pack()
#删除指定图形
# canvas.delete("red")
#运行并显示窗口
window.mainloop()

效果图如下

总结

以上所述是小编给大家介绍的使用pyhon绘图比较两个手机屏幕大小,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

命令行运行Python脚本时传入参数的三种方式详解

如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式。 python script.py 0,1,2 10 python scrip...

浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法

浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法

【更新】主要提供两种方案: 方案一:(参考网上代码,感觉实用性不是很强)使用PIL截取图像,然后将RGB转为HSV进行判断,统计判断颜色,最后输出RGB值 方案二:使用opencv库函数...

python3中bytes和string之间的互相转换

前言 Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意...

python实现串口自动触发工作的示例

最近在一个python工具中需要实现串口自动触发工作的功能,之前只在winform上面实现,今天使用python试试。这里简单记一下: 首先用wxpython实现一个Button,点击事...

python多进程实现文件下载传输功能

本文实例为大家分享了python多进程实现文件下载传输功能的具体代码,供大家参考,具体内容如下 需求: 实现文件夹拷贝功能(包括文件内的文件),并打印拷贝进度 模块: os模块 mu...