PHP图片平均分割

/**
     * 图片平均分割
     * $h = 23, $w = 8
     * 保存:web/upload_pic/Cut
     */
    public function actionCutPng()
    {
        $filename = dirname(dirname(dirname(dirname(__FILE__)))).‘\web\upload_pic\test114.png‘;
        list($width, $height) = getimagesize($filename);
        $h = 23;
        $w = 8;
        $newwidth = floor($width / $w);
        $newheight = floor($height / $h);
        $lastH = $height % $h;
        $lastW = $width % $w;

        $source = imagecreatefrompng($filename);
        for( $i=0 ; $i< $h; $i++ ){
            for ($j = 0 ; $j < $w ; $j++){
                $h_p = $newheight*$i;
                $w_p = $newwidth*$j;
                if(($j + 1) == $w ){
                    $newwidth += $lastW;
                }
                if((  $i + 1 ) == $h ){
                    $newheight += $lastH;
                }
                $thumb = ImageCreateTrueColor($newwidth, $newheight);
                imagecopyresized( $thumb, $source, 0, 0, $w_p, $h_p, $newwidth,  $newheight, floor($width / $w),floor($height / $h));

                imagejpeg( $thumb , "./upload_pic/Cut/{$i}-{$j}.jpg" ,100);
            }
        }
    }

原文地址:https://www.cnblogs.com/liuliwei/p/9319073.html

时间: 2024-10-25 03:19:47

PHP图片平均分割的相关文章

PHP 图片 平均分割

$filename = 'D://WWW/1.jpg'; $p = 5; // Get new sizes list($width, $height) = getimagesize($filename); $newwidth = $width; $newheight = floor($height / $p); $last = $height % $p; // Load $source = imagecreatefromjpeg($filename); for( $i=0 ; $i< $p; $

Selective Search for Object Recognition 论文笔记【图片目标分割】

这篇笔记,仅仅是对选择性算法介绍一下原理性知识,不对公式进行推倒. 前言: 这篇论文介绍的是,如果快速的找到的可能是物体目标的区域,不像使用传统的滑动窗口来暴力进行区域识别.这里是使用算法从多个维度对找到图片中,可能的区域目标,减少目标碎片,提升物体检测效率. 下面是这篇文章的笔记: 介绍及引言: 图片是分层次的,比如下图中a: 沙拉和匙在沙拉碗里,而碗又在桌子上,另外桌子和木头有关或者说桌子和桌子上的所有东西有关.所以图片中的目标是有层次的. 图片分割应该按层次来,也不存在使用单个策略这样通用

【曾经】图片快速分割

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms; 10 using System.Dr

怎样将一张很长的大图平均分割成多张小图?

首先使用360浏览器将网页保存为图片,如下图所示: 然后用PS打开图片,点开始--打开,找到文件所在的位置,将其打开. 其次找到切片工具,默认的切片工具和裁剪工具是重叠在一起的.鼠标移到裁剪工具上点右键就会出现切片工具,点选切片工具. 先好切片工具后, 将光标移到图片位置,点右建,选择划分切片,出来如下对话框:这里可以可以根据需要进行水平和垂直两种方式,也可以选按桉你所需的份数或是按象素进行裁剪(注:按像素裁的话,最后不一定是相等像素的) 选择好后点确定即可,接下来就是保存裁剪好的图,[保存为w

[CareerCup] 7.5 A Line Cut Two Squares in Half 平均分割两个正方形的直线

7.5 Given two squares on a two-dimensional plane, find a line that would cut these two squares in half. Assume that the top and the bottom sides of the square run parallel to the x-axis 这道题给了我们两个正方形,让我们求一条可以讲这两个正方形平均分为两个部分的直线,前提是两个正方形都和x轴平行.那么我们首先要知道

Linux下平均分割大文件

下面表示将 dataset分割成小文件,每个10000行,以数字作为后缀形式,一共占两位 split -l 10000 dataset -d -a 2 partition_dataset_ 如果有不明白的 split --help 或 man split 合并小文件为一个大文件: find dir -type f -name "partition_dataset_*" -print | xargs cat > final_results 原文:http://blog.csdn.n

Android 将图片平均切割成多张小片

public class ImageSplitter { /** * 将图片切成 , piece *piece * * @param bitmap * @param piece * @return */ public static List<ImagePiece> split(Bitmap bitmap, int piece) { List<ImagePiece> pieces = new ArrayList<ImagePiece>(piece * piece); in

数组平均分割

题意: 将一个数组分成两堆,使两堆的和的差值尽可能小. 思路: dp. 实现: 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int splitToMin(int a[], int n, int b[], int c[]) 5 { 6 int sum = accumulate(a, a + n, 0); 7 int dp[15][1005]; 8 memset(dp, 0, sizeof dp); 9 for (int i = 1;

js 平均分割

let alllist=res.data; var result = []; for (var i = 0; i < alllist.length; i += 3) { result.push(alllist.slice(i, i + 3)); } 原文地址:https://www.cnblogs.com/future/p/10607038.html