V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iscraft
V2EX  ›  PHP

使用imagecopyresampled生成缩略图的疑惑

  •  
  •   iscraft · 2012-06-23 23:22:29 +08:00 · 3496 次点击
    这是一个创建于 4570 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网上找了些代码:
    $ni=imagecreatetruecolor (100,100);//创建图片
    $im = imagecreatefromjpeg("./s.jpg"); //读取要缩略的源图片
    $im=imagecopyresampled($ni,$im,0,0,0,0,500,500,500,500);//生成新图片
    imagejpeg($ni,"./d.jpg");//保存生成后的新图片

    我想问:
    1.生成后的新图片的高宽像素由imagecreatetruecolor来指定还是imagecopyresampled来指定的?
    2.imagecopyresampled中各个参数的详细意思是什么?看了部分文章.对这个都很含糊

    谢谢大家.
    4 条回复    1970-01-01 08:00:00 +08:00
    Hyperion
        1
    Hyperion  
       2012-06-23 23:25:32 +08:00
    iscraft
        2
    iscraft  
    OP
       2012-06-23 23:36:59 +08:00
    @Hyperion imagecreatetruecolor和imagecopyresampled中关于新缩略图片的大小是必须保持一致的了?
    另外,dst_x,dst_y,src_x,src_y这四个参数麻烦您给普及下知识呗
    Hyperion
        3
    Hyperion  
       2012-06-24 00:21:14 +08:00
    dst_x dst_y dst_w dst_h 是一组 指的是目标图像区域
    src_x src_y src_w src_h 是一组 指的是源图像区域

    区域... 比如100*100的正方形, 中间一块就是 x=25 y=25 w=50 h=50...
    Hyperion
        4
    Hyperion  
       2012-06-24 00:25:29 +08:00   ❤️ 1
    @iscraft 这个, imagecreatetruecolor创建的尺寸, 如果比imagecopyresampled放进去的尺寸小的话... 好比把锅里的汤倒进碗里, 就盛的下那一碗 多的放不进去一样...

    解释不清... 自行理解吧...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:15 · PVG 20:15 · LAX 04:15 · JFK 07:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.