使用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编程之event对象的用法实例分析

本文实例讲述了Python编程中event对象的用法。分享给大家供大家参考,具体如下: Python提供了Event对象用于线程间通信,它是由线程设置的信号标志,如果信号标志位为假,则线...

Python传递参数的多种方式(小结)

一 位置传递 没什么好过多讲解. # 位置传递实例: def fun1(a,b,c): return a+b+c print(fun1(1,2,3)) 输出: 6...

Python网络编程 Python套接字编程

Python网络编程 Python套接字编程

Python 提供了两个级别访问的网络服务。 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。...

python:pandas合并csv文件的方法(图书数据集成)

python:pandas合并csv文件的方法(图书数据集成)

数据集成:将不同表的数据通过主键进行连接起来,方便对数据进行整体的分析。 两张表:ReaderInformation.csv,ReaderRentRecode.csv ReaderInf...

Python解决两个整数相除只得到整数部分的实例

在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值 解决方法: 1. 修改被除数的值为带小数点的形式即可得到浮点值 2.在文件头部引入 from __futu...