求解:PHP修改图像后保存为另一个图片

stive_x 2008-04-03 11:24:53
我想实现以下功能:
根据图片地址读取图片后,修改图片,在图片上画一些东西。如线,圈等,并将修改后的图片重起名后,存到指定文件夹。
我找到一个用JSP画线的函数,但是好象不好保存。代码如下。不用这个函数也可以。只要实现功能就好~~
请高手帮助解决一下吧,谢了!!
<SCRIPT LANGUAGE="JavaScript">
var x,y,a,b,i = 0;
function drawline(fromX,fromY,toX,toY)
{
var strElement= "<v:Line id='line_"+fromX+"_"+fromY+"_"+toX+"_"+toY+"' from='" + fromX + "," + fromY + "' to='" + toX + "," + toY + "' strokecolor='red'></v:Line>";
var newPoint = document.createElement(strElement);
document.getElementById("map").appendChild(newPoint);
}
function draw()
{
i++;
if(i%2==1)
{
x=window.event.x;y=window.event.y;return false;
}
a=window.event.x;b=window.event.y;
drawline(x,y,a,b);
x=a;y=b;
}
function draws()
{
if(i%2==1)
{
if(x==undefined&&b==undefined){return false;}
if(x==window.event.x&&b==window.event.y){return false;}
if(document.getElementById("TempLine")){document.getElementById("TempLine").outerHTML=""}
var strElement= "<v:Line id='TempLine' from='" + x + "," + y + "' to='" + window.event.x + "," + window.event.y + "' strokecolor='red'></v:Line>";
var newPoint = document.createElement(strElement); }
document.getElementById("map").appendChild(newPoint);
}
</SCRIPT>
<html xmlns:v="urn:schemas-microsoft-com:vml">
<HEAD>
<META http-equiv="Content-Type" c>
<title>vml实例</title>
<STYLE>
v\:*{behavior:url(#default#VML);}/*声明V为VML变量*/
</STYLE>
</HEAD>
<BODY>
<table border="1" align="center">
<tr>
<td><div id="map" style="width:600px;height:500px;background-color:#cccccc;position:relative;" ></div>
</td>
</tr>
</table>
</body>
</html>
...全文
176 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
UltraBejing 2008-05-01
这个简单啊,网上搜一下就得到答案了.
回复
不明LZ在说什么
回复
meiZiNick 2008-04-30
接分先!
回复
lvjx125 2008-04-30
JF
回复
stive_x 2008-04-11
等待高手出现`
回复
ten789 2008-04-05
LZ是要在浏览器中保存?

说明下是 JS 而不是 JSP 两种截然不同的东西

最好谁能说明下javaScript和Java

个人认为 除了名字没啥关系
回复
stive_x 2008-04-05
恩。。(JS)我的需求是要在本地浏览器里保存,能做到吗??
回复
stive_x 2008-04-05
能具体点吗?
回复
cuidenghong123 2008-04-04
php 可以(GD库)
回复
stive_x 2008-04-04
好象没太看懂。你这个程序是把以前的图片保存成另一个图片吧。但是我要的需求是:再页面里打开一张图片,然后在上面画几下。再把这张图片保存起来。
前几步都实现了。就是保存不了~
也可能我理解你的程序有误。留个联系方式讨论下最好:)
我的Q:21118260
回复
faisun 2008-04-03

http://www.softpure.com/bbs/viewthread.php?tid=2000
保存源码后恢复还好点,生能 JPG 图的话,恐怕...
回复
sunfan1010 2008-04-03
<?php
//需要GD库支持
function createsmallpic($oldpicpath,$savepath,$wh,$ww) {
$imgQuality=100;//图片质量
$max_height=$wh;//生成图片的高度
$max_width=$ww;//生成图片的宽度
$data=GetImageSize($oldpicpath);
@$small = imagecreatetruecolor($width,$height);
@$oldim = imagecreatefromstring(file_get_contents($oldpicpath));
imagecopyresampled($small,$oldim,0,0,0,0,$width,$height,imagesx($oldim),imagesy($oldim));
switch($data[2]){
case 'gif':ImagePNG($small,$savepath,100); break;
case 'jpeg':imagejpeg($small,$savepath,100); break;
case 'png':ImagePNG($small,$savepath,100); break;
default:imagejpeg($small,$savepath,100); break;
}
}
/////////////////////////////
$uploaddir = 'UPLOADS/';//文件存放路径
$temploadfile = $_FILES['File']['tmp_name'];
if($temploadfile !=""){
$temptype = end(explode(".",$_FILES['File']['name']));}
$A=$uploaddir.date("YmdHis").".".$temptype;//构造文件名
$B=$uploaddir.date("YmdHis")."s.".$temptype;//小圖
if(move_uploaded_file($temploadfile, $A))
{
createsmallpic($uploaddir.$A,$uploaddir.$B,"200","100");
}
?>

你自己再加一下线,圈什么的就行啦.
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-04-03 11:24
社区公告
暂无公告