pygame拖动图片与缩放示例_python图像查看器雏形程序

pygame图像查看器雏形
下面是部分代码预览:

"""
   拖动图片与缩放示例
   稍微改下这个程序就能制作一个图片查看器了.
   
"""

import pygame
from pygame.locals import *

width,height = 680,660
pos = [width//2,height//2]
image = 'beauty.jpg'

screen = pygame.display.set_mode((width,height))
pygame.display.set_caption("拖动图片与缩放示例www.lixingqiu.com")
image = pygame.image.load(image).convert_alpha()
rect = image.get_rect(center=pos)
image2 = image

w,h = image.get_width(),image.get_height()
k = h/w                                   # 高度和宽度之比
step = 10
start_drag = 0
running = True
while running:
    for event in pygame.event.get():
              
        if event.type == QUIT:running = False
        
        if event.type == MOUSEBUTTONDOWN:

            if event.button ==4 :            # 向上滚动变大
                w = w + step
                h = int(w * k)
                image2 = pygame.transform.scale(image,(w,h))
                rect = image2.get_rect(center=pos)                
            if event.button ==5 :          # 向下滚动变小
                w = w - step
                w = max(1,w)
                h = int(w * k)
                image2 = pygame.transform.scale(image,(w,h))
                rect = image2.get_rect(center=pos)
            if event.button == 1:
                start_drag = 1                # 开始拖动
                
        if event.type == MOUSEBUTTONUP:
            start_drag = 0                    # 结束拖动
        if event.type == MOUSEMOTION:
            c = rect.collidepoint(event.pos)  # 鼠标指针在图像rect内
            if start_drag == 1 and c:
                pos[0] += event.rel[0]        # 水平方向相对移动量
                pos[1] += event.rel[1]        # 垂直方向相对移动量
                rect.center = pos                    

        screen.fill((0,0,0))
        screen.blit(image2,rect)
        pygame.display.update()

pygame.quit()

如需要查看完整源代码,请扫码付款:

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。扫码付款后的朋友可以加QQ: 406273900,提供技术支持及发送作品图片与配音素材。亦可直接向微信号scratch8付款购买。
李兴球的博客_Python创意编程技术前沿 » pygame拖动图片与缩放示例_python图像查看器雏形程序

学本领,探索更大的世界!

李兴球博客 风火轮编程主页