我想用PHP将一张图片合成到另一张图片上去,但是要倾斜一定角度,像下面图片中的这样,高手帮忙啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想用PHP将一张图片合成到另一张图片上去,但是要倾斜一定角度,像下面图片中的这样,高手帮忙啊相关的知识,希望对你有一定的参考价值。

我要把另一张图片放在画红线的那个区域

1L方法太先进了 - -

使用php的GD库应该可以得到LZ想要的效果,这里给思路吧,具体代码需完善不少方面,实在没时间研究啊 - -

//-----------------------------------------------------------------------------------------

header('Content-type:image/jpeg');

$imageDestination = 'images/dst.jpg'; //主视图,也就是白云飘飘这张主图

$imageSource = 'images/src.png' //复制并需旋转的小图

$imageSource = imagerotate($imageSource, -25, -1); //把小图向右旋转25°,-1就是不填充颜色到旋转后的空白部分,大概就是透明吧

/*
把旋转后的小图复制到大图上
30, 50就是旋转后小图在大图上的位置
0, 0是从旋转后小图的左上开始复制
这样一直复制到imagesx($imageSource), imagesy($imageSource),就是把旋转后小图完整复制到大图了
*/
imagecopy($imageDestination, $imageSource, 30, 50, 0, 0, imagesx($imageSource), imagesy($imageSource));

imagejpeg($imageDestination); //输出图片

//-----------------------------------------------------------------------------------------

当然,上面只是一个草稿式的代码,具体还要考虑大小图的类型,旋转小图后其尺寸,定位旋转后小图坐标,还有图片的真彩色、透明等等问题,所以说还得花点心思才能把功能写好。

希望能帮到你,满意请采纳~~

参考资料:个人

参考技术A 使用滤镜transform属性使对象旋转,示例如下::

假设<div id="pic>...</pic>,则定义css如下:

#pic
background-image: url(pic.jpg);
background-repeat: no-repeat;
-o-transform: rotate(25deg); /* Opera浏览器 */
-webkit-transform: rotate(25deg); /* Webkit内核浏览器 */
-moz-transform: rotate(25deg); /* Firefox浏览器 */

如何将一张表复制到另一张表

【中文标题】如何将一张表复制到另一张表【英文标题】:How to copy one table to another 【发布时间】:2012-12-31 18:21:51 【问题描述】:

我想将table1的内容复制到table2中,但不是直接复制,因为table2包含的列比table1多。结构类似这样:

表 1 第 2 列 第 4 列 第 6 列

表2 第 1 列 第 2 列 第 3 列 第 4 列 第 5 列 第 6 列

我想要做的是将 table1 中的每一行添加到 table2,并为缺少的列设置默认值。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

你可以做一个

INSERT INTO xxx
SELECT yyy

并且在 select 子句中,放入默认值。

INSERT INTO Table2(column1, column2, column3, column4, column5, column6)
SELECT 'horse', column2, 2, column4, 'what ever I want', column6 
FROM Table1

所以 int Table2,所有 column1 都将具有 'horse' 值。 所有 column3 将有 2。 等等。

【讨论】:

我没有意识到你可以像这样在同一个 select 语句中包含值。完美,谢谢。【参考方案2】:

使用INSERT..INTO SELECT 声明

INSERT INTO table2 (column2, column4, column6)
SELECT column2, column4, column6
FROM table1

所以在这种情况下,列:column1column2column3 将具有空值。或您设置的任何默认值。

【讨论】:

table2 没有设置默认值。是否可以在单个 Insert 语句中插入新列的默认值?【参考方案3】:

不擅长 SQL 但类似这样:

INSERT INTO [Table1] (column2, column4, column6) SELECT (column1, column2, column3) FROM [Table2]

希望这会有所帮助。可能有用的链接,http://www.blackwasp.co.uk/SQLSelectInsert.aspx

投票给我我需要积分 :P

【讨论】:

【参考方案4】:

请尝试

INSERT INTO 
    Table2  (
    column1,
    column2,
    column3,
    column4,
    column5,
    column6,
        )
SELECT 
    'StaticValue1',
    column2,
    'StaticValue2'
    column4,
    'StaticValue3'
    column6,
FROM 
    Table1

【讨论】:

【参考方案5】:

将完整表复制到新表中:

SELECT * INTO table2 FROM table1;

http://www.w3schools.com/sql/sql_select_into.asp

将表复制到现有表中:

INSERT INTO table2
SELECT * FROM table1;

http://www.w3schools.com/sql/sql_insert_into_select.asp

【讨论】:

OP 说表格上的列不是一对一的。我不记得了,但这里的所有其他答案都指定了列名(大概是因为这个原因)。【参考方案6】:
insert into TABLE2
select null colum1, column2,null colum3,column4,null colum5,column6
from((
Select  TABLE1.column2, TABLE1.column4, TABLE1.column6
from TABLE1, TABLE2
where TABLE1.primarykey=TABLE2.primarykey))

【讨论】:

以上是关于我想用PHP将一张图片合成到另一张图片上去,但是要倾斜一定角度,像下面图片中的这样,高手帮忙啊的主要内容,如果未能解决你的问题,请参考以下文章

canvas中放入一张图片,但是其中的图片可以旋转移动,这是怎么确定的?

ImageMagick:将一张图像的 4 个边缘并排合成到另一张图像中

Python3 打开一张网络图片

ps中 怎么把一张图片的一种颜色全部替换成另外一种颜色?

CSS 将一张图片放在另一张图片之上

如何将一张图像的一部分复制到另一张图像?