php裁切圖片,php獲取剪切板

本文目錄一覽:

php求助圖片縮放裁切問題

這段代碼可以通過自已選擇來決定圖片的大小!

效果圖如下所示:希望對你有幫助!

其中

minSize: [48,48],

setSelect: [0,0,190,190],

是調整選取範圍的大小,若你 調整為120和160就改為了

setSelect: [0,0,120,160],

就可以了!

?php

error_reporting(7);

date_default_timezone_set(“Asia/Shanghai”);

header(“Content-type:text/html; Charset=utf-8”);

require_once(“./image.class.php”);

$images = new Images(“file”);

if ($_GET[‘act’] == ‘cut’){ 

 $image = “0000.jpg”;

 $res = $images-thumb($image,false,1);

 if($res == false){

  echo “裁剪失敗”;

 }elseif(is_array($res)){

  echo ‘img src=”‘.$res[‘big’].'” style=”margin:10px;”‘;

  echo ‘img src=”‘.$res[‘small’].'” style=”margin:10px;”‘;

 }elseif(is_string($res)){

  echo ‘img src=”‘.$res.'”‘;

 }

}elseif(isset($_GET[‘act’])  $_GET[‘act’] == “upload”){

 

 $path = $images-move_uploaded();

 $images-thumb($path,false,0);       //文件比規定的尺寸大則生成縮略圖,小則保持原樣

 if($path == false){

  $images-get_errMsg();

 }else{

  echo “上傳成功!a href='”.$path.”‘ target=’_blank’查看/a”;

 }

}else{

?

!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “;quot;;

html

 head

  meta name=”Author” content=”SeekEver”

  meta name=”Keywords” content=””

  meta name=”Description” content=””

  meta content=”text/html; charset=UTF-8″ http-equiv=”Content-Type”

  script src=”./js/jquery.min.js” type=”text/javascript”/script

  script src=”./js/jquery.Jcrop.js” type=”text/javascript”/script

  link rel=”stylesheet” href=”./css/jquery.Jcrop.css” type=”text/css” /

script type=”text/javascript”

  jQuery(function($){

    // Create variables (in this scope) to hold the API and image size

      var jcrop_api, boundx, boundy;

     

      $(‘#target’).Jcrop({

  minSize: [48,48],

  setSelect: [0,0,190,190],

        onChange: updatePreview,

        onSelect: updatePreview,

  onSelect: updateCoords,

        aspectRatio: 1

      },

 function(){

        // Use the API to get the real image size

        var bounds = this.getBounds();

        boundx = bounds[0];

        boundy = bounds[1];

        // Store the API in the jcrop_api variable

        jcrop_api = this;

    });

 function updateCoords(c)

 {

  $(‘#x’).val(c.x);

  $(‘#y’).val(c.y);

  $(‘#w’).val(c.w);

  $(‘#h’).val(c.h);

 };

 function checkCoords()

 {

  if (parseInt($(‘#w’).val())) return true;

  alert(‘Please select a crop region then press submit.’);

  return false;

 };

      function updatePreview(c){

        if (parseInt(c.w)  0)

        {

          var rx = 48 / c.w;  //小頭像預覽Div的大小

          var ry = 48 / c.h;

        $(‘#preview’).css({

            width: Math.round(rx * boundx) + ‘px’,

            height: Math.round(ry * boundy) + ‘px’,

            marginLeft: ‘-‘ + Math.round(rx * c.x) + ‘px’,

            marginTop: ‘-‘ + Math.round(ry * c.y) + ‘px’

          });

        }

     {

          var rx = 199 / c.w;  //大頭像預覽Div的大小

          var ry = 199 / c.h;

          $(‘#preview2’).css({

            width: Math.round(rx * boundx) + ‘px’,

            height: Math.round(ry * boundy) + ‘px’,

            marginLeft: ‘-‘ + Math.round(rx * c.x) + ‘px’,

            marginTop: ‘-‘ + Math.round(ry * c.y) + ‘px’

          });

        }

      };

    });

/script

 /head

 body

 form method=”post” action=”?act=upload” enctype=”multipart/form-data”

  input type=”file” name=”file”

  input type=”submit” value=”上傳”

 /form

 div style=”float:left;”img id=”target” src=”0000.jpg”  /div

 div style=”width:48px;height:48px;margin:10px;overflow:hidden; float:left;”img  style=”float:left;” id=”preview” src=”0000.jpg” /div

 div style=”width:190px;height:195px;margin:10px;overflow:hidden; float:left;”img  style=”float:left;” id=”preview2″ src=”0000.jpg” /div

 form action=”index.php?act=cut” method=”post” onsubmit=”return checkCoords();”

  input type=”hidden” id=”x” name=”x” /

  input type=”hidden” id=”y” name=”y” /

  input type=”hidden” id=”w” name=”w” /

  input type=”hidden” id=”h” name=”h” /

  input type=”submit” value=”裁剪” /

 /form

 /body

/html

?php

?

php 裁切圖片問題 求助

PHP做圖片裁切

PHP做圖片裁剪的原理是通過前台定位出要裁剪圖片的左上角位置,及右下角位置的做標,如果有放大和縮小的話還要給出放大和縮小的百分比,以及要對哪一個圖片進行操作,這幾個值傳到後台,在用PHP去處理!

前端圖片坐標點的得到可以自己用JS去實現,如果你的JS寫的不是很熟也沒有關係,可以下載一個jsCropperUI這一個包裡面有很多的DEMO,可以實現前台的拖曳效果了!

前台會有一個AJAX向後台發送數據,一般格式為x1=”+position[0]+”y1=”+position[1]+”x2=”+position[2]+”y2=”+position[3]+”r=”+position[4]+”id = imgid四個坐標,縮放值,要操作的ID

後PHP接收這個數據後,進行操作

$x1 = $_GET[‘x1’];

$y1 = $_GET[‘y1’];

$x2 = $_GET[‘x2’];

$y2 = $_GET[‘y2’];

$r = $_GET[‘r’];

if($x2$x1||$y2$y1){

return false;

}

$img=”dog.jpg”;

$im=imagecreatefromjpeg($img);

$percent = $r*0.01;

list($width, $height) = getimagesize($img);

$new_width = $width * $percent;

$new_height = $height * $percent;

$tempimg = imagecreatetruecolor($new_width,$new_height);

imagecopyresampled($tempimg, $im,0,0,0,0, $new_width,$new_height, $width, $height);

imagejpeg($tempimg,”dog_temp.jpg”);

ImageDestroy ($im);

$ims=$tempimg;

$srcW=ImageSX($ims);

$srcH=ImageSY($ims);

$top_x = $x1;

$top_y = $y1;

$bottom_x = $x2;

$bottom_y = $y2;

$newimg = imagecreatetruecolor($bottom_x-$top_x,$bottom_y-$top_y);

imagecopyresampled($newimg, $ims,0,0,$top_x,$top_y, $srcW,$srcH, $srcW, $srcH);

imagejpeg($newimg,”dogs.jpg”);

ImageDestroy ($ims);

echo 1;

成功後輸出1讓前台得到進行裁剪區域的刷新!這樣就可以實現PHP裁剪圖片的效果了!

php如何實現圖片的裁剪

php中裁剪圖片主要使用gd庫的imagecopyresampled方法

$src_path = ‘1.jpg’;

//創建源圖的實例

$src = imagecreatefromstring(file_get_contents($src_path));

//裁剪開區域左上角的點的坐標

$x = 100;

$y = 12;

//裁剪區域的寬和高

$width = 200;

$height = 200;

//最終保存成圖片的寬和高,和源要等比例,否則會變形

$final_width = 100;

$final_height = round($final_width * $height / $width);

//將裁剪區域複製到新圖片上,並根據源和目標的寬高進行縮放或者拉升

$new_image = imagecreatetruecolor($final_width, $final_height);

imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);

//輸出圖片

header(‘Content-Type: image/jpeg’);

imagejpeg($new_image);

imagedestroy($src);

imagedestroy($new_image);

PHP 圖片下載本地並進行裁剪

?php

//剪裁圖片

//1,打開圖像

//2,創建一個空白的圖像

$name=”./img/1.jpg”;

 // cut($name,0,0,200,200);

$x1=289;

$y1=149;

$x2=438;

$y2=257;

cut($name,289,149,438,257);

 function cut($name,$x1,$y1,$x2,$y2){

function getinfo($name){

//getimagesize($dname)函數可以動態的獲取圖片類型,大小,寬度和高度等

$info=getimagesize($name);

$width=$info[0];

$height=$info[1];

$mime=$info[‘mime’];

 

switch ($mime) {

case ‘image/jpeg’:

$res=imagecreatefromjpeg($name);

break;

case ‘image/gif’:

$res=imagecreatefromgif($name);

break;

case ‘image/png’:

$res=imagecreatefrompng($name);

break;

case ‘image/wbmp’:

$res=imagecreatefromwbmp($name);

break;

}

return array(‘width’=$width,’height’=$height,’res’=$res);

}

$info=getinfo($name);

 

$img=imagecreatetruecolor(($x2-$x1),($y2-$y1));

imagecopymerge($img,$info[‘res’],0,0,$x1,$y1,($x2-$x1),($y2-$y1),100);

// header(“content-type:image/png”);

// imagepng($img);

$ext=pathinfo($name,PATHINFO_EXTENSION);

$rand_name=md5(mt_rand().time()).”.”.$ext;

switch($ext){

case ‘jpg’:

case ‘jpeg’:

case ‘jpe’:

imagejpeg($img,$rand_name);

break;

case ‘png’:

imagepng($img,$rand_name);

break;

case ‘gif’:

imagegif($img,$rand_name);

break;

case ‘bmp’:

case ‘wbmp’:

imagewbmp($img,$rand_name);

break;

}

//銷毀資源

imagedestroy($info[‘res’]);

imagedestroy($img);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/309245.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-04 19:30
下一篇 2025-01-04 19:30

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 用Python繪製酷炫圖片

    在本篇文章中,我們將展示如何使用Python繪製酷炫的圖片。 一、安裝Python繪圖庫 在使用Python繪製圖片之前,我們需要先安裝Python繪圖庫。Python有很多繪圖庫…

    編程 2025-04-29
  • 使用axios獲取返回圖片

    使用axios獲取返回圖片是Web開發中很常見的需求。本文將介紹如何使用axios獲取返回圖片,並從多個方面進行詳細闡述。 一、安裝axios 使用axios獲取返回圖片前,首先需…

    編程 2025-04-29
  • Python 圖片轉表格

    本文將詳細介紹如何使用Python將圖片轉為表格。大家平時在處理一些資料的時候難免會遇到圖片轉表格的需求。比如從PDF文檔中提取表格等場景。當然,這個功能也可以通過手動複製、粘貼,…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網絡應用中流…

    編程 2025-04-29
  • Python如何抓取圖片數據

    Python是一門強大的編程語言,能夠輕鬆地進行各種數據抓取與處理。抓取圖片數據是一個非常常見的需求。在這篇文章中,我們將從多個方面介紹Python如何抓取圖片數據。 一、使用ur…

    編程 2025-04-29
  • Avue中如何按照後端返回的鏈接顯示圖片

    Avue是一款基於Vue.js、Element-ui等技術棧的可視化開發框架,能夠輕鬆搭建前端頁面。在開發中,我們使用到的圖片通常都是存儲在後端服務器上的,那麼如何使用Avue來展…

    編程 2025-04-28
  • Python利用Image加圖片的方法

    在Python中,利用Image庫可以快速處理圖片,並加入需要的圖片,本文將從多個方面詳細闡述這個操作。 一、Image庫的安裝和基礎操作 首先,我們需要在Python中安裝Ima…

    編程 2025-04-28
  • 使用CKSlide實現圖片輪播

    CKSlide是一個基於jQuery的插件,可以方便地為網頁添加幻燈片和圖片輪播效果。使用CKSlide可以讓網站更加生動、活潑,給用戶帶來更好的體驗。 一、CKSlide基本用法…

    編程 2025-04-28

發表回復

登錄後才能評論