V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  life90  ›  全部回复第 2 页 / 共 12 页
回复总数  240
1  2  3  4  5  6  7  8  9  10 ... 12  
19 天前
回复了 life90 创建的主题 投资 今天早上的一件趣事
@waterank 昨晚才看一次 让子弹飞。今天就体会到什么叫 三七分成了。
22 天前
回复了 life90 创建的主题 Python 新手 Python 求教
@lpe234 你知道如何处理扩展屏的状态么?在扩展屏来回切换,会导致只有一屏显示。
```
iimport tkinter as tk
import win32api
import win32con
import pywintypes
import os
import threading
import time
from screeninfo import get_monitors
from PIL import Image, ImageDraw, ImageFont,ImageTk

def get_total_screen_size():
monitors = get_monitors()
width = sum(monitor.width for monitor in monitors)
height = max(monitor.height for monitor in monitors)
return width, height

font_family = "msyh.ttf" # Replace with your actual font filename
font_size = 36
def generate_watermark(text, width, height,color='#d5d5d5', opacity=0, lines=10, angle=0):

get_total_screen_size()
spacing = 100
# 创建一个 Image 对象,用于绘制水印
img = Image.new('RGBA', (width, height), (255, 255, 255, 0))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(font_family, font_size)

# 将文本拆分成多行
text_lines = text.split('\n') if text else lines

# 计算每个水印的宽度和高度
bbox = draw.textbbox((0, 0), text_lines[0], font=font)
text_width, text_height = bbox[2] - bbox[0] + spacing, bbox[3] - bbox[1] + spacing

# 计算每行可以容纳的水印数量
watermarks_per_row = width // (text_width + spacing)
total_rows = (height - 50) // (text_height + spacing)
# 设置初始位置
x = 50
y = 30

for row in range(0,total_rows):
x = 50 # 每行重新从左侧开始
y = 50 + row * (text_height + spacing)

for col in range(0,watermarks_per_row):

rotated_text = Image.new('RGBA', (text_width, text_height), (255, 255, 255, 0))
rotated_draw = ImageDraw.Draw(rotated_text)
rotated_draw.text((0, 0), text_lines[row % len(text_lines)], font=font, fill=color)
rotated_text = rotated_text.rotate(angle, expand=True)
# 将旋转后的文本粘贴到主图像上
img.paste(rotated_text, (x, y), rotated_text)
x += text_width + spacing

tk_img = ImageTk.PhotoImage(img)
# 创建一个 Label 并显示图片
label = tk.Label(image=tk_img,bg="white")
label.image = tk_img # 保持引用,防止垃圾回收
label.pack()


def create_watermark_window(text, **kwargs):

root = tk.Tk()

def generate_watermark_with_size():
screen_width, screen_height = get_total_screen_size()
generate_watermark(text, screen_width, screen_height, **kwargs)

def monitor_resolution_changes():
nonlocal generate_watermark_with_size
prev_monitor_count = 1
while True:
current_monitor_count = len(get_monitors())
if current_monitor_count != prev_monitor_count:
generate_watermark_with_size()
prev_monitor_count = current_monitor_count
time.sleep(3)

monitor_thread = threading.Thread(target=monitor_resolution_changes)
monitor_thread.daemon = True
monitor_thread.start()
# 使用 after 方法延迟执行生成水印函数
root.after(100, generate_watermark_with_size)
root.overrideredirect(True)
root.lift()
root.attributes('-alpha', 0.3) # 设置透明度
root.wm_attributes('-topmost', True)
root.wm_attributes('-disabled', True)
root.wm_attributes('-transparentcolor',"white")
hWindow = pywintypes.HANDLE(int(root.frame(), 16))
exStyle = win32con.WS_EX_COMPOSITED | win32con.WS_EX_LAYERED | win32con.WS_EX_NOACTIVATE | win32con.WS_EX_TOPMOST | win32con.WS_EX_TRANSPARENT
win32api.SetWindowLong(hWindow, win32con.GWL_EXSTYLE, exStyle)
root.mainloop()

# 使用示例
if __name__ == '__main__':
# 获取当前用户名
username = os.getlogin()
# 组合文本
mytext = f"Allianz\n{username}" # 使用 f-string 格式化字符串
angle = 45 # 旋转角度
create_watermark_window(mytext, angle=angle, lines=10)
```
23 天前
回复了 life90 创建的主题 Python 新手 Python 求教
@lpe234 感谢,我好像明白了。他是根据 \n 来划分行数的。修改这个值就行。
23 天前
回复了 life90 创建的主题 Python 新手 Python 求教
23 天前
回复了 life90 创建的主题 Python 新手 Python 求教
@lpe234 按你的改了,也不行。显示效果如图:

![python 显示效果]( https://s21.ax1x.com/2024/11/28/pA59my4.png)

这是个扩展屏,总的长高是 3840 * 1200
33 天前
回复了 life90 创建的主题 分享发现 电动垂直起降 (eVTOL) 授权地方政府了
看回复都不看好。虽然我也不看好,但历史总是跌跌撞撞中前行。静观其变吧
40 天前
回复了 gangsta 创建的主题 硬件 新买的显示器,以及一个诡异的微信表情包
微信自带的图片查看,跟 Windows 自带的图片查看,用的不是一个颜色描述文件。
不信你可以试一试用自带打开图片,跟微信打开同一个图片,在同一个显示器下颜色也是不一样的。
其他平台不清楚,Windows 下起码我发现是这样的。
40 天前
回复了 life90 创建的主题 宽带症候群 114 DNS 禁 Ping 了
看各位回复,应该是区域性阻断了。
40 天前
回复了 life90 创建的主题 宽带症候群 114 DNS 禁 Ping 了
@Mrealy 我也是被断网的时候之前还可以,恢复后就不行了。我以为我的问题,回到公司测了也不行。你说的很早是什么时候?
53 天前
回复了 MissTang 创建的主题 分享发现 微信的风控规则真的是迷惑
@chqome 这个是那个刷脸程序发出的三原色被手机屏幕(准确应该是手机系统)修改了。如果你手机屏幕开了很艳丽的效果,或者摄像头底层开了美颜。肯定会通不过。我之前也被这个折磨了一个小时。后来拿个旧的 iPhone 手机就通过了。
华西也一样,起码成都我这边遇到了。有个同事(移动),晚高峰连公司(电信) vpn ,卡的不能用。过了 20 - 22 这段时间就好一点。
54 天前
回复了 life90 创建的主题 宽带症候群 今早上成都联通宽带大部分断网
@TimePPT 出口不要公网还可以,看我之前帖子。公网的话,出口不怎么好。
@zpljd 我也不想啊!上班时间就起不来,不上班就醒的很早。

@mytsing520 发起询问,故障就已经有了。我看了下监控日志。其实鉴权应该更早就故障了,只是我宽带一直没到掉线时间。所以发起二次拨号就拨不上了。
放心吧。现在年轻人动不动辞职。呆不久的。哈哈哈!
62 天前
回复了 life90 创建的主题 宽带症候群 宽带被拉小黑屋,刷外网比内网快
@kkk9 光猫没有烧。就是被限制了,跟师傅确认了。要走流程签保证书。而且拨号的 IP 是 100 开头。
@yxmyxmyyy 你看 IP 就知道不是电信

@iijboom 排版乱了。我重排一下
HOST: xxxx.com Loss% Snt Last Avg Best Wrst StDev
1.|-- 119.6.196.238 70.0% 10 5.2 5.8 4.6 7.6 1.6
2.|-- 175.152.59.161 90.0% 10 6.0 6.0 6.0 6.0 0.0
3.|-- 119.6.197.189 0.0% 10 104.9 105.4 97.3 114.1 5.1
4.|-- 219.158.16.9 90.0% 10 103.1 103.1 103.1 103.1 0.0
5.|-- 219.158.8.114 0.0% 10 97.7 102.5 97.3 109.8 4.7
6.|-- 219.158.20.222 10.0% 10 101.5 102.3 95.9 111.2 5.7
7.|-- 219.158.102.158 0.0% 10 253.8 258.7 240.6 311.8 19.4
8.|-- 219.158.33.194 10.0% 10 249.7 248.0 239.7 257.0 5.7
9.|-- 141.101.72.87 0.0% 10 269.5 260.0 247.5 282.9 10.3
10.|-- 104.21.14.71 0.0% 10 322.3 332.9 272.8 375.5 34.8
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2063 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 01:03 · PVG 09:03 · LAX 17:03 · JFK 20:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.