我最近创建了一个上传功能,但我不知道如何将宽度和高度更改为 75px...我尝试了通过 Google 找到的一段代码,但我收到了这个错误:
( ! ) Fatal error: Class 'Imagick' not found in C:\wamp\www\Legendary\new\usersettings.php on line 725
Call Stack
# Time Memory Function Location
1 0.0042 880616 {main}( ) ..\usersettings.php:0
这是我当前的代码(包括不起作用的代码):
echo '
<table border="0" width="100%">
<tr><td style="font-size: 16px;">Change Image</td></tr>
<form action="" method="post" enctype="multipart/form-data">
<tr><td>Upload Image:</td><td style="text-align: right;"><input type="file" name="upimage" id="upimage" /></td></tr>
<tr><td></td><td style="text-align: right; font-size: 10px;"></td></tr>
<tr><td></td><td style="text-align: right;"><input type="submit" name="submitnewimage" value="Upload" class="button" /></td></tr>
</form>
';
echo '
</table>
';
if(isset($_POST['submitnewimage'])){
$name = $_FILES['upimage']['name'];
$temp = $_FILES['upimage']['tmp_name'];
$type = $_FILES['upimage']['type'];
$size = $_FILES['upimage']['size'];
if($name!=""){
include 'config.php';
$sql5 = mysql_query("SELECT * FROM images ORDER BY id DESC LIMIT 1");
while($row=mysql_fetch_array($sql5)) {
if(!isset($show2)){
$id = $row['id'];
$id = $id + 1;
$show2 = "YES";
}
}
if(($type=="image/jpeg") || ($type=="image/jpg") || ($type=="image/gif") || ($type=="image/pjpeg") || ($type=="image/png")){
if($size<=100000){
$pos = strrpos($name, '.');
if($pos === false)
$ext = "";
$ext = substr($name, $pos);
$newFilename = $id.$ext;
move_uploaded_file($temp, "images/teamicons/".$newFilename);
$im = new Imagick('images/teamicons/'.$newFilename);
$im->thumbnailImage(75,75);
$im->writeImage('images/teamicons/'.$newFilename);
mysql_query("INSERT INTO `images`(`id`, `name`, `size`, `type`) VALUES (NULL,'$newFilename',$size,'$type')");
$myusername = $_SESSION['myusername'];
mysql_query("UPDATE `members` SET `img`= '$newFilename' WHERE `username`='$myusername'");
header("Location:" . $_SESSION['prev_page']);
}else{echo "<tr><td colspan='2'><span style='color:#F00;'>The file, "".$name."", is too large! Maximum allowed file size is 100kB.</span></td></tr>";}
}else{echo "<tr><td colspan='2'><span style='color:#F00;'>"".$type."" is not a valid file type!</span></td></tr>";}
}else{echo "<tr><td colspan='2'><span style='color:#F00;'>No file has been specified!</span></td></tr>";}
}
有什么方法可以改变图片的宽度和高度吗?
最佳答案
我已经成功使用了GD最近要这样做,特别是使用 imagecopyresampled 函数。
稍微扩展一下......一旦我上传了图像(我不会讨论,因为那是另一个问题),我做了一些相当简单的事情,比如:
$original_info = getimagesize($filename);
$original_w = $original_info[0];
$original_h = $original_info[1];
$original_img = imagecreatefromjpg($filename);
$thumb_w = 100;
$thumb_h = 100;
$thumb_img = imagecreatetruecolor($thumb_w, $thumb_h);
imagecopyresampled($thumb_img, $original_img,
0, 0,
0, 0,
$thumb_w, $thumb_h,
$original_w, $original_h);
imagejpeg($thumb_img, $thumb_filename);
imagedestroy($thumb_img);
imagedestroy($original_img);
请注意,我尚未测试此代码。在这里只是为了让您对我的方法有一个基本的了解。
关于php - 更改图像大小 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978566/
我的目标是转换表单输入,例如“100兆字节”或“1GB”,并将其转换为我可以存储在数据库中的文件大小(以千字节为单位)。目前,我有这个:defquota_convert@regex=/([0-9]+)(.*)s/@sizes=%w{kilobytemegabytegigabyte}m=self.quota.match(@regex)if@sizes.include?m[2]eval("self.quota=#{m[1]}.#{m[2]}")endend这有效,但前提是输入是倍数(“gigabytes”,而不是“gigabyte”)并且由于使用了eval看起来疯狂不安全。所以,功能正常,
如何正确创建Rails迁移,以便将表更改为MySQL中的MyISAM?目前是InnoDB。运行原始执行语句会更改表,但它不会更新db/schema.rb,因此当在测试环境中重新创建表时,它会返回到InnoDB并且我的全文搜索失败。我如何着手更改/添加迁移,以便将现有表修改为MyISAM并更新schema.rb,以便我的数据库和相应的测试数据库得到相应更新? 最佳答案 我没有找到执行此操作的好方法。您可以像有人建议的那样更改您的schema.rb,然后运行:rakedb:schema:load,但是,这将覆盖您的数据。我的做法是(假设
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我尝试使用不同的ssh_options在同一阶段运行capistranov.3任务。我的production.rb说:set:stage,:productionset:user,'deploy'set:ssh_options,{user:'deploy'}通过此配置,capistrano与用户deploy连接,这对于其余的任务是正确的。但是我需要将它连接到服务器中配置良好的an_other_user以完成一项特定任务。然后我的食谱说:...taskswithoriginaluser...task:my_task_with_an_other_userdoset:user,'an_othe
假设我有一个FireNinja我的数据库中的对象,使用单表继承存储。后来才知道他真的是WaterNinja.将他更改为不同的子类的最干净的方法是什么?更好的是,我很想创建一个新的WaterNinja对象并替换旧的FireNinja在数据库中,保留ID。编辑我知道如何创建新的WaterNinja来self现有FireNinja的对象,我也知道我可以删除旧的并保存新的。我想做的是改变现有项目的类别。我是通过创建一个新对象并执行一些ActiveRecord魔法来替换行,还是通过对对象本身做一些疯狂的事情,或者甚至通过删除它并使用相同的ID重新插入来做到这一点,这是问题的一部分。
我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
我正在尝试使用Ruby2.0.0和Rails4.0.0提供的API从imgur中提取图像。我已尝试按照Ruby2.0.0文档中列出的各种方式构建http请求,但均无济于事。代码如下:require'net/http'require'net/https'defimgurheaders={"Authorization"=>"Client-ID"+my_client_id}path="/3/gallery/image/#{img_id}.json"uri=URI("https://api.imgur.com"+path)request,data=Net::HTTP::Get.new(path
2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p
Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile