本文整理汇总了PHP中Thumbnail::cropFromCenter方法的典型用法代码示例。如果您正苦于以下问题:PHP Thumbnail::cropFromCenter方法的具体用法?PHP Thumbnail::cropFromCenter怎么用?PHP Thumbnail::cropFromCenter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Thumbnail
的用法示例。
在下文中一共展示了Thumbnail::cropFromCenter方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: manipulate
/**
* Perfoms manipulation
*
* @param string $from
* @param string $to
* @param string $options
* @return void
*/
public function manipulate($from, $to, $options)
{
if (false === class_exists('Thumbnail')) {
throw new Yag_Manipulator_Adapter_Exception('Class Thumbnail could not be loaded');
}
if (!isset($options['geometry'])) {
throw new Yag_Manipulator_Adapter_Exception('Thumbnail requires the \'geometry\' option to be set');
}
$matches = array();
preg_match('/(c)?([0-9]+)x([0-9]+)/', $options['geometry'], $matches);
$crop = empty($matches[1]) ? false : true;
$width = $matches[2];
$height = $matches[3];
if (empty($matches[2])) {
throw new Yag_Manipulator_Adapter_Exception('Invalid geometry pattern \'' . $options['geometry'] . '\'');
}
if (empty($matches[3])) {
throw new Yag_Manipulator_Adapter_Exception('Invalid geometry pattern \'' . $options['geometry'] . '\'');
}
$thumbnail = new Thumbnail($from);
// TODO: Fix error handling around this...
$quality = 80;
if (false == $crop) {
$thumbnail->resize($width, $height);
$quality = 100;
} else {
if ($width == $height) {
// Well works for now... the crop for ImageTransform is a bit better
// but who cares?
$thumbnail->cropFromCenter($width);
} else {
$thumbnail->crop(0, 0, $width, $height);
}
}
$thumbnail->save($to, $quality);
}
示例2: saveVideoInfo
/**
* Save editted video details
*/
function saveVideoInfo()
{
global $Itemid, $mainframe;
$db = & JFactory::getDBO();
$my = & JFactory::getUser();
$c = hwd_vs_Config::get_instance();
$app = & JFactory::getApplication();
$row = new hwdvids_video($db);
$uid = JRequest::getInt( 'owner', 0, 'post' );
$rowid = JRequest::getInt( 'id', 0, 'post' );
$referrer = JRequest::getVar( 'referrer', JURI::root( true ) . '/index.php?option=com_hwdvideoshare&Itemid='.$Itemid );
// check component access settings and deny those without privileges
if (!hwd_vs_access::allowAccess( $c->gtree_mdrt, $c->gtree_mdrt_child, hwd_vs_access::userGID( $my->id ))) {
if ($my->id == $uid) {
if ($my->id == "0") {
$app->enqueueMessage(_HWDVIDS_ALERT_NOPERM);
$app->redirect( $referrer );
}
if ($c->allowvidedit == "0") {
$app->enqueueMessage(_HWDVIDS_ALERT_NOPERM);
$app->redirect( $referrer );
}
// continue
} else {
$app->enqueueMessage(_HWDVIDS_ALERT_NOPERM);
$app->redirect( $referrer );
}
}
$row->load( $rowid );
$old_category = $row->category_id;
$file_name_org = $_FILES['thumbnail_file']['name'];
$file_ext = substr($file_name_org, strrpos($file_name_org, '.') + 1);
$thumbnail = '';
if ($_FILES['thumbnail_file']['tmp_name'] !== "") {
if ($row->video_type == "local" || $row->video_type == "swf" || $row->video_type == "mp4")
{
$videocode = $row->video_id;
$thumbnail = $file_ext;
}
else
{
$videocode = "tp-".$row->id;
$thumbnail = "tp-".$row->id.".".$file_ext;
}
$base_Dir = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS;
$upload_result = hwd_vs_tools::uploadFile("thumbnail_file", $videocode, $base_Dir, 2, "jpg,jpeg", 1);
if ($upload_result[0] == "0")
{
$msg = $upload_result[1];
$app->enqueueMessage($msg);
$app->redirect( JURI::root( true ) . '/index.php?option=com_hwdvideoshare&Itemid='.$Itemid.'&task=editvideo&video_id='.$row->id );
}
else
{
require_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'libraries'.DS.'thumbnail.inc.php');
$thumb_path_s = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS.$videocode.'.'.$file_ext;
$thumb_path_l = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS.'l_'.$videocode.'.'.$file_ext;
$twidth_s = round($c->con_thumb_n);
$theight_s = round($c->con_thumb_n*$c->tar_fb);
$twidth_l = round($c->con_thumb_l);
$theight_l = round($c->con_thumb_l*$c->tar_fb);
list($width, $height, $type, $attr) = @getimagesize($thumb_path_s);
$ratio = $width/$height;
//echo $thumb_path_s."<br />".$ratio."<br />".$width."<br />".$height."<br />".$c->tar_fb."<br />".$twidth_s."<br />".$theight_s;
if ($ratio > 1)
{
$resized_l = new Thumbnail($thumb_path_s);
$resized_l->resize($twidth_l,$twidth_l);
$resized_l->cropFromCenter($twidth_l, $theight_l);
$resized_l->save($thumb_path_l);
$resized_l->destruct();
$resized_s = new Thumbnail($thumb_path_s);
$resized_s->resize($twidth_s,$twidth_s);
$resized_s->cropFromCenter($twidth_s, $theight_s);
$resized_s->save($thumb_path_s);
$resized_s->destruct();
}
else
{
$resized_l = new Thumbnail($thumb_path_s);
$resized_l->resize($twidth_l,2000);
$resized_l->cropFromCenter($twidth_l, $theight_l);
//.........这里部分代码省略.........
示例3: savecategories
/**
* save categories
*/
function savecategories()
{
global $option;
$db = & JFactory::getDBO();
$app = & JFactory::getApplication();
$c = hwd_vs_Config::get_instance();
$access_lev_u = Jrequest::getVar( 'access_lev_u', '0' );
$access_lev_v = Jrequest::getVar( 'access_lev_v', '0' );
$row = new hwdvids_cats($db);
if (isset($_FILES['thumbnail_file']['error'])) {
$file_name_org = $_FILES['thumbnail_file']['name'];
$file_ext = substr($file_name_org, strrpos($file_name_org, '.') + 1);
$thumbnail_url = JURI::root( true ).'/hwdvideos/thumbs/category'.$_POST['id'].'.'.$file_ext;
$base_Dir = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS;
$thumbnail_name = 'category'.$_POST['id'];
$upload_result = hwd_vs_tools::uploadFile("thumbnail_file", $thumbnail_name, $base_Dir, 2, "jpg,jpeg", 1);
if ($upload_result[0] == "0") {
$msg = $upload_result[1];
$app->enqueueMessage($msg);
} else {
include_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'libraries'.DS.'thumbnail.inc.php');
$thumb_path_s = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS.$thumbnail_name.'.'.$file_ext;
$twidth_s = round($c->con_thumb_n);
$theight_s = round($c->con_thumb_n*$c->tar_fb);
list($width, $height, $type, $attr) = @getimagesize($thumb_path_s);
$ratio = $height/$width;
if ($ratio < $c->tar_fb) {
$resized_s = new Thumbnail($thumb_path_s);
$resized_s->resize(1000, $theight_s);
$resized_s->cropFromCenter($twidth_s, $theight_s);
$resized_s->save($thumb_path_s);
$resized_s->destruct();
} else {
$resized_s = new Thumbnail($thumb_path_s);
$resized_s->resize($twidth_s,1000);
$resized_s->cropFromCenter($twidth_s, $theight_s);
$resized_s->save($thumb_path_s);
$resized_s->destruct();
}
}
// update db with new thumbnail
$db->SetQuery("UPDATE #__hwdvidscategories SET thumbnail = '$thumbnail_url' WHERE id = ".intval($_POST['id']));
$db->Query();
if ( !$db->query() ) {
echo "<script> alert('".$db->getErrorMsg()."'); window.history.go(-1); </script>\n";
exit();
}
$msg = "Thumbnail was successfully uploaded";
$app->enqueueMessage($msg);
$app->redirect( 'index.php?option=com_hwdvideoshare&Itemid='.$Itemid.'&task=editcatA&hidemainmenu=1&cid='.$_POST['id'] );
} else {
if (intval($_POST['id']) !== 0 && (intval($_POST['id']) == intval($_POST['parent']))) {
$app->enqueueMessage(_HWDVIDS_ALERT_PARENTNOTSELF);
$app->redirect( JURI::root( true ) . '/administrator/index.php?option='.$option.'&task=categories' );
}
$_POST['category_name'] = Jrequest::getVar( 'category_name', 'no name supplied' );
$_POST['category_description'] = Jrequest::getVar( 'category_description', 'no name supplied' );
$_POST['access_lev_u'] = @implode(",", $access_lev_u);
$_POST['access_lev_v'] = @implode(",", $access_lev_v);
}
// bind it to the table
if (!$row -> bind($_POST)) {
echo "<script> alert('"
.$row -> getError()
."'); window.history.go(-1); </script>\n";
exit();
}
if(empty($row->category_name)) {
$app->enqueueMessage(_HWDVIDS_NOTITLE);
$app->redirect( JURI::root( true ) . '/administrator/index.php?option='.$option.'&task=categories' );
}
// store it in the db
//.........这里部分代码省略.........
示例4: editvideos
//.........这里部分代码省略.........
$favs = $db->loadResult();
echo $db->getErrorMsg();
if (empty($favs)) {$favs = 0;}
$db->SetQuery( "SELECT count(*)"
. "\nFROM #__hwdvidsflagged_videos"
. "\nWHERE videoid = $cid"
);
$flagged = $db->loadResult();
echo $db->getErrorMsg();
if (empty($flagged)) {$flagged = 0;}
$upld_thumbnail = JRequest::getInt( 'upld_thumbnail', 0, 'post' );
if ($upld_thumbnail == "1") {
$file_name_org = $_FILES['thumbnail_file']['name'];
$file_ext = substr($file_name_org, strrpos($file_name_org, '.') + 1);
if ($row->video_type == "local" || $row->video_type == "swf" || $row->video_type == "mp4")
{
$videocode = $row->video_id;
$thumbnail = $file_ext;
}
else
{
$videocode = "tp-".$row->id;
$thumbnail = "tp-".$row->id.".".$file_ext;
}
$base_Dir = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS;
$upload_result = hwd_vs_tools::uploadFile("thumbnail_file", $videocode, $base_Dir, 2, "jpg,jpeg", 1);
if ($upload_result[0] == "0")
{
$msg = $upload_result[1];
$app->enqueueMessage($msg);
$app->redirect( 'index.php?option=com_hwdvideoshare&Itemid='.$Itemid.'&task=editvidsA&hidemainmenu=1&cid='.$row->id );
}
else
{
include_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'libraries'.DS.'thumbnail.inc.php');
$thumb_path_s = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS.$videocode.'.'.$file_ext;
$thumb_path_l = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS.'l_'.$videocode.'.'.$file_ext;
$twidth_s = round($c->con_thumb_n);
$theight_s = round($c->con_thumb_n*$c->tar_fb);
$twidth_l = round($c->con_thumb_l);
$theight_l = round($c->con_thumb_l*$c->tar_fb);
list($width, $height, $type, $attr) = @getimagesize($thumb_path_s);
$ratio = $width/$height;
//echo $thumb_path_s."<br />".$ratio."<br />".$width."<br />".$height."<br />".$c->tar_fb."<br />".$twidth_s."<br />".$theight_s;
if ($ratio > 1)
{
$resized_l = new Thumbnail($thumb_path_s);
$resized_l->resize($twidth_l,$twidth_l);
$resized_l->cropFromCenter($twidth_l, $theight_l);
$resized_l->save($thumb_path_l);
$resized_l->destruct();
$resized_s = new Thumbnail($thumb_path_s);
$resized_s->resize($twidth_s,$twidth_s);
$resized_s->cropFromCenter($twidth_s, $theight_s);
$resized_s->save($thumb_path_s);
$resized_s->destruct();
}
else
{
$resized_l = new Thumbnail($thumb_path_s);
$resized_l->resize($twidth_l,2000);
$resized_l->cropFromCenter($twidth_l, $theight_l);
$resized_l->save($thumb_path_l);
$resized_l->destruct();
$resized_s = new Thumbnail($thumb_path_s);
$resized_s->resize($twidth_s,1000);
$resized_s->cropFromCenter($twidth_s, $theight_s);
$resized_s->save($thumb_path_s);
$resized_s->destruct();
}
}
// update db with new thumbnail
$db->SetQuery("UPDATE #__hwdvidsvideos SET thumbnail = '$thumbnail' WHERE id = $row->id");
$db->Query();
if ( !$db->query() ) {
echo "<script> alert('".$db->getErrorMsg()."'); window.history.go(-1); </script>\n";
exit();
}
$msg = "Thumbnail was successfully uploaded";
$app->enqueueMessage($msg);
$app->redirect( 'index.php?option=com_hwdvideoshare&Itemid='.$Itemid.'&task=editvidsA&hidemainmenu=1&cid='.$row->id );
}
hwdvids_HTML::editvideos($row, $cat, $usr, $favs, $flagged);
}
示例5: crop
function crop($imagePath, $thumbnailPath, $dimensions)
{
$crop = false;
$newSize = trim(intval($dimensions[0])) > 0 ? trim(intval($dimensions[0])) : 100;
$thumb = new Thumbnail($imagePath);
if ($thumb->error) {
echo $imagePath . ":" . $thumb->errmsg . "<br />";
return false;
}
$minLength = min($thumb->getCurrentWidth(), $thumb->getCurrentHeight());
$maxLength = max($thumb->getCurrentWidth(), $thumb->getCurrentHeight());
// Image is smaller than the specified size so we just rename it and save
if ($maxLength <= $newSize) {
$thumb->save($thumbnailPath, $this->quality);
//Just rename and save without processing
} else {
// At least one side is larger than specified thumbnail size
// Both sides are larger than resize length so first we scale and if image is not square we crop
if ($minLength > $newSize) {
// Scale smaller size to desired new size
if ($thumb->getCurrentWidth() < $thumb->getCurrentHeight()) {
$thumb->resize($newSize, 0);
$crop = true;
} elseif ($thumb->getCurrentWidth() > $thumb->getCurrentHeight()) {
$thumb->resize(0, $newSize);
$crop = true;
} else {
$thumb->resize($newSize, $newSize);
}
if ($crop) {
$thumb->cropFromCenter($newSize);
}
// One size is smaller than the new size, so we only crop the larger size to the new size
} else {
$cropX = intval(($thumb->getCurrentWidth() - $newSize) / 2);
$cropY = intval(($thumb->getCurrentHeight() - $newSize) / 2);
$thumb->crop($cropX, $cropY, $newSize, $newSize);
}
$thumb->save($thumbnailPath, $this->quality);
}
$thumb->destruct();
if (file_exists($thumbnailPath)) {
return true;
}
return false;
}
示例6: updateChannel
/**
* Outputs frontpage HTML
*
* @param string $option the joomla component name
* @param array $rows array of video data
* @param array $rowsfeatured array of featured video data
* @param object $pageNav page navigation object
* @param int $total the total video count
* @return Nothing
*/
function updateChannel()
{
global $Itemid, $mainframe;
$db = & JFactory::getDBO();
$my = & JFactory::getUser();
$c = hwd_vs_Config::get_instance();
$id = JRequest::getInt( 'id', 0 );
$row = new hwdvids_channel($db);
$row->load( $id );
if ($row->user_id != $my->id)
{
$mainframe->enqueueMessage(_HWDVIDS_ALERT_NOPERM);
$mainframe->redirect( JRoute::_("index.php?option=com_hwdvideoshare&Itemid=$Itemid&task=channels") );
}
$channel_description = Jrequest::getVar( 'channel_description', _HWDVS_UNKNOWN );
$_POST['channel_description'] = $channel_description;
$file_name_org = $_FILES['thumbnail_file']['name'];
$file_ext = substr($file_name_org, strrpos($file_name_org, '.') + 1);
$thumbnail = '';
if ($_FILES['thumbnail_file']['tmp_name'] !== "")
{
$videocode = "ch-".$row->id;
$base_Dir = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS;
$upload_result = hwd_vs_tools::uploadFile("thumbnail_file", $videocode, $base_Dir, 2, "jpg,jpeg,png,gif", 1);
if ($upload_result[0] == "0")
{
$msg = $upload_result[1];
$mainframe->enqueueMessage($msg);
$mainframe->redirect( JURI::root( true ) . '/index.php?option=com_hwdvideoshare&Itemid='.$Itemid.'&task=editvideo&video_id='.$row->id );
}
else
{
require_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_hwdvideoshare'.DS.'libraries'.DS.'thumbnail.inc.php');
$thumb_path = JPATH_SITE.DS.'hwdvideos'.DS.'thumbs'.DS.$videocode.'.'.$file_ext;
$twidth_s = round($c->con_thumb_n);
$theight_s = round($c->con_thumb_n*$c->tar_fb);
list($width, $height, $type, $attr) = @getimagesize($thumb_path);
$ratio = $width/$height;
//echo $thumb_path."<br />".$ratio."<br />".$width."<br />".$height."<br />".$c->tar_fb."<br />".$twidth_s."<br />".$theight_s;
if ($ratio > 1)
{
$resized = new Thumbnail($thumb_path);
$resized->resize($twidth_s,$twidth_s);
$resized->cropFromCenter($twidth_s, $theight_s);
$resized->save($thumb_path);
$resized->destruct();
}
else
{
$resized = new Thumbnail($thumb_path);
$resized->resize($twidth_s,1000);
$resized->cropFromCenter($twidth_s, $theight_s);
$resized->save($thumb_path);
$resized->destruct();
}
}
$_POST['channel_thumbnail'] = $videocode.'.'.$file_ext;
}
else
{
//echo "No thumbnail uploaded";
}
// bind it to the table
if (!$row -> bind($_POST)) {
echo "<script> alert('"
.$row -> getError()
."'); window.history.go(-1); </script>\n";
exit();
}
// store it in the db
if (!$row -> store()) {
echo "<script> alert('"
.$row -> getError()
."'); window.history.go(-1); </script>\n";
exit();
//.........这里部分代码省略.........