php中绘制长方体,php代码将常见的长方形图片修改为正方形的图片
在制作网页过程中,有时候需要使用到正方形的图片,然而一般我们的拍摄的照片都为长方形的,要是长方的图片在网页上显示的话图片会变形,所以需要处理一下.
本文简单介绍了怎样使用一些常见的程序语言将长方形的图片修改裁剪为正方形的图片。
php代码如下:
$picimg = "测试图片地址.jpg";
$picinfo = file_get_contents($picimg);
$iytpic = imagecreatefromstring($picinfo);
$y = imagesy($iytpic);
$x = imagesx($iytpic);
if($x>$y){
$sx = abs(($y-$x)/2);
$sy = 0;
$jtdw = $y;
$jtdgd = $y;
} else {
$sy = abs(($x-$y)/2);
$sx = 0;
$jtdw = $x;
$jtdgd = $x;
}
if(function_exists("imagecreatetruecolor")){
$toppic = imagecreatetruecolor(200, 200);
}else{
$toppic = imagecreate(200, 200);
}
imagecopyresized ($toppic,$iytpic,0,0,$sx,$sy,200,200,$jtdw,$jtdgd);
imagejpeg ($toppic,"xxx.jpg");
?>
以上代码可以得到200*200的正方形图片。
python代码实现:
from PIL import Image
from os import listdir
import math
import numpy as np
import cv2
def piczfx( picpath):
img = Image.open(picpath)
width, height = img.size
jscd = width - height
if(jscd > 0):
fhcya = jscd / height
fhdsz = Image.new(img.mode, (width, height + jscd))
crreg = img.crop((0, height - (jscd - fhcya * height), width, height))
fhdsz.paste(crreg, box = (0, 0))
for i in range(0, fhcya + 1):
fhdsz.paste(img, box = (0, jscd - fhcya * height + i * height))
return fhdsz
elif(jscd < 0):
jscd = abs(jscd)
fhcya = jscd / width
fhdsz = Image.new(img.mode, (width + jscd, height))
crreg = img.crop((0, 0, jscd - fhcya * width, height))
fhdsz.paste(crreg, box = (0, 0))
for i in range(0, fhcya + 1):
fhdsz.paste(img, box = (jscd - fhcya * width + i * width, 0))
return fhdsz
else:
return img
def textureTransform( picpath, offsetX, offsetY, uvScale):
imgOriginal = Image.open(picpath)
img = piczfx("需要处理的图片.jpg")
img.save("需要保存的图片路径")
以上就是使用php以及python代码,可加入代码中实现实现简单的截取图片为正方形在线切图效果.
php中绘制长方体,php代码将常见的长方形图片修改为正方形的图片相关推荐
- 如何在CAD中绘制长方体?
在使用CAD编辑器设计图纸过程中,绘制图形是必不可少的.对于平面图形绘制起来是很简单的,然而CAD编辑器是不限于平面图形的,他还可以绘制三维立体图形,那么如果想要绘制长方体该如何操作呢?下面教你如何绘 ...
- matlab中绘制长方体公式,matlab绘制多个长方体
%4个长方体 a = [8000,2000,-500;12000,2000,-500;12000,9000,-500;8000,9000,-500; 8000,2000,-200;12000,2000 ...
- html绘图环境,HTML_HTML5 在canvas中绘制文本附效果图,一、绘制文本 在绘图环境中提 - phpStudy...
HTML5 在canvas中绘制文本附效果图 一.绘制文本 在绘图环境中提供了两种方法在canvas中绘制文本. strokeText(text,x,y) : 在(x,y)处绘制空心的文本. fill ...
- 矩形做成翻页的效果html5,HTML5 在canvas中绘制矩形附效果图
一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统,x坐标向右递增,y坐标向下递增. 使用绘图环境的矩形绘制函数来绘制矩形. fillRect(x,y,width,height) : 绘制 ...
- Matlab中绘制度长方体3D图形
Matlab中绘制度长方体3D图形 已知空间中长方体网格的三维坐标(x,y,z)及其对应的值Value,绘制出长方体的各个面, 各个面的颜色根据对应坐标的值设定. 图形效果如下 以下是matlab中的 ...
- python画笑脸图案-如何让这些代码中的一个在窗口中绘制不同大小的笑脸?
我在这里忽略了一些重要的标准,即在一个窗口中显示不同大小的笑脸.我在这方面是新手,我不知道如何独自完成这项工作.这是迄今为止我创建并失败的两个代码.有人能告诉我我缺少什么来完成这个计划吗?在 项目1: ...
- HTML1个像素宽的代码,HTML5 Canvas中绘制一个像素宽的细线实现代码详情
正统的HTML5 Canvas中如下代码ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(10, 100); ctx.lineTo(300,100); ct ...
- html5画椭圆的完整代码,HTML5 Canvas中绘制椭圆的4种方法
概述 HTML5中的Canvas并没有直接提供绘制椭圆的方法,下面是对几种绘制方法的总结.各种方法各有优缺,视情况选用.各方法的参数相同: 1.context为Canvas的2D绘图环境对象, 2.x ...
- matlab绘制抛物线,MATLAB中绘制抛物线的图像,请补充完成下面代码: clc,clear; x=linspace(...
MATLAB中绘制抛物线的图像,请补充完成下面代码: clc,clear; x=linspace(-2,2,100); ____________; plot(x,y) 答: y=x.^2 在下列各项中 ...
- opengl绘制长方体线框_OpenGL绘图实例十之绘制3D机器人
综述 通过上一节说的绘制3D图形基础,我们应该对绘制3D图形有了基本的认识,接下来我们就进行一个实例,绘制一个3D机器人. 本节我们要完成的任务有: 1.绘制一个仿真3D机器人(样式自选,参考例图), ...
最新文章
- DllMain already defined in dllmain.obj错误
- 「JupyterNotebook」Jupyter中的程序调试方法
- flash activex java_Adobe flash player ActiveX和NPAPI和PPAPI 这三个软件有什么区别?
- 面试风云录(01) - 怎样回答这两个问题?
- Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题...
- python找到文件夹下指定文件类型_python 读取指定文件夹中的指定文件类型的文件名...
- 三维计算机视觉(一)--点云处理综述
- oracle 基数 选择率,1.1.2.2 可选择率(1)
- 用PHP搞掂黑群晖IPv6的DNSPod解析【7月23日更新,支持v4和v6】
- 最新2021计算机排名中国大学排名,2020-2021年计算机类专业排名_中国大学本科教育按专业类排行榜_中国科教评价网...
- 设置数据表格中某行的颜色
- Linux攻关之基础模块十 特殊权限
- window10 彻底关闭自动更新
- 物联网通信原理第4章 中远距离无线通信技术
- piwik.php是什么,Piwik流量統計系統搭建(apche+php+mysql+piwik)
- 计算机专业第一学历考研究生,211、985研究生不如本科生?过来人说,第一学历非常重要...
- Scrum完整项目实例
- SaaS运维平台 云HIS系统源码 一体化电子病历系统
- logitech webcam linux 驱动安装(适用于TX1和PC)
- 互联网日报 | 1月28日 星期四 | 春节期间机票可免费退改;抖音成2021年央视春晚独家互动合作伙伴;快手启动招股...