本文整理汇总了PHP中imagefontwidth函数的典型用法代码示例。如果您正苦于以下问题:PHP imagefontwidth函数的具体用法?PHP imagefontwidth怎么用?PHP imagefontwidth使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了imagefontwidth函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct($message, $iWidth = null, $iHeight = null)
{
$iFont = 2;
if ($message instanceof Exception) {
$message = $message->getMessage();
if (defined('DEBUG') && DEBUG) {
$message .= "\n" . $message->getTraceAsString();
}
}
// calculate image size
if ($iWidth == null || $iHeight != null) {
$aMessage = explode("\n", $message);
$iFontWidth = imagefontwidth($iFont);
$iFontHeight = imagefontheight($iFont);
foreach ($aMessage as $sLine) {
$iHeight += $iFontHeight + 1;
$iMessageWidth = $iFontWidth * (strlen($sLine) + 1);
if ($iMessageWidth > $iWidth) {
$iWidth = $iMessageWidth;
}
}
$iHeight += 8;
}
parent::__construct($iWidth, $iHeight);
$iFontColor = $this->getColor(255, 0, 0);
$iBorderColor = $this->getColor(255, 0, 0);
$iBGColor = $this->getColor(255, 255, 255);
$iPadding = 4;
$this->fill(0, 0, $iBGColor);
$this->drawRectangle(0, 0, $this->getWidth() - 1, $this->getHeight() - 1, $iBorderColor);
$this->drawText($message, $iFont, $iFontColor, $iPadding, $iPadding);
}
示例2: __construct
function __construct()
{
session_start();
//----
header("Content-type: image/gif");
header("Expires: Mon, 1 Jun 1999 01:00:00 GMT");
//----
if (!function_exists('imagecreate')) {
readfile('i/0.gif');
exit;
}
//----
$im = imagecreate(59, 22);
//----
$bg = imagecolorallocate($im, 0xff, 0xff, 0xff);
$black = imagecolorallocate($im, 0x62, 0x63, 0x63);
//----
$verify_code = trim($_SESSION['verify_code']);
$len = strlen($verify_code);
//----
$x = 3;
$y = 3;
$w = imagefontwidth(5);
mt_srand($this->MakeSeed());
//----
for ($i = 0; $i < $len; ++$i) {
imagestring($im, 5, $x, $y + mt_rand(0, 4) - 2, $verify_code[$i], $black);
//----
$x += $w;
}
//---- output the image
imagegif($im);
//----
exit;
}
示例3: execute
function execute($par)
{
global $wgRequest, $wgEmailImage;
$size = 4;
$text = $wgRequest->getText('img');
/* decode this rubbish */
$text = rawurldecode($text);
$text = str_rot13($text);
$text = base64_decode($text);
$text = str_replace($wgEmailImage['ugly'], "", $text);
$fontwidth = imagefontwidth($size);
$fontheight = imagefontheight($size);
$width = strlen($text) * $fontwidth + 4;
$height = $fontheight + 2;
$im = @imagecreatetruecolor($width, $height) or exit;
$trans = imagecolorallocate($im, 0, 0, 0);
/* must be black! */
$color = imagecolorallocate($im, 1, 1, 1);
/* nearly black ;) */
imagecolortransparent($im, $trans);
/* seems to work only with black! */
imagestring($im, $size, 2, 0, $text, $color);
//header ("Content-Type: image/png"); imagepng($im); => IE is just so bad!
header("Content-Type: image/gif");
imagegif($im);
exit;
}
示例4: generateVerificationImg
/**
* Generates image
*
* @param string $sMac verification code
*
* @return null
*/
function generateVerificationImg($sMac)
{
$iWidth = 80;
$iHeight = 18;
$iFontSize = 14;
if (function_exists('imagecreatetruecolor')) {
// GD2
$oImage = imagecreatetruecolor($iWidth, $iHeight);
} elseif (function_exists('imagecreate')) {
// GD1
$oImage = imagecreate($iWidth, $iHeight);
} else {
// GD not found
return;
}
$iTextX = ($iWidth - strlen($sMac) * imagefontwidth($iFontSize)) / 2;
$iTextY = ($iHeight - imagefontheight($iFontSize)) / 2;
$aColors = array();
$aColors["text"] = imagecolorallocate($oImage, 0, 0, 0);
$aColors["shadow1"] = imagecolorallocate($oImage, 200, 200, 200);
$aColors["shadow2"] = imagecolorallocate($oImage, 100, 100, 100);
$aColors["background"] = imagecolorallocate($oImage, 255, 255, 255);
$aColors["border"] = imagecolorallocate($oImage, 0, 0, 0);
imagefill($oImage, 0, 0, $aColors["background"]);
imagerectangle($oImage, 0, 0, $iWidth - 1, $iHeight - 1, $aColors["border"]);
imagestring($oImage, $iFontSize, $iTextX + 1, $iTextY + 0, $sMac, $aColors["shadow2"]);
imagestring($oImage, $iFontSize, $iTextX + 0, $iTextY + 1, $sMac, $aColors["shadow1"]);
imagestring($oImage, $iFontSize, $iTextX, $iTextY, $sMac, $aColors["text"]);
header('Content-type: image/png');
imagepng($oImage);
imagedestroy($oImage);
}
示例5: CenterImageString
function CenterImageString($image, $image_width, $string, $font_size, $y, $color)
{
$text_width = imagefontwidth($font_size) * strlen($string);
$center = ceil($image_width / 2);
$x = $center - ceil($text_width / 2);
ImageString($image, $font_size, $x, $y, $string, $color);
}
示例6: drawHeader
public function drawHeader()
{
$str = $this->header;
$fontnum = $this->sizeX < 500 ? 2 : 4;
$x = $this->fullSizeX / 2 - imagefontwidth($fontnum) * strlen($str) / 2;
imagestring($this->im, $fontnum, $x, 1, $str, $this->GetColor('Dark Red No Alpha'));
}
示例7: placeholder
public static function placeholder($height, $width, $text)
{
// Dimensions
//header ("Content-type: image/png");
$getsize = $height . 'x' . $width;
$dimensions = explode('x', $getsize);
// Create image
$image = imagecreate($dimensions[0], $dimensions[1]);
// Colours
$bg = 'ccc';
$bg = Image::hex2rgb($bg);
$setbg = imagecolorallocate($image, $bg['r'], $bg['g'], $bg['b']);
$fg = '555';
$fg = Image::hex2rgb($fg);
$setfg = imagecolorallocate($image, $fg['r'], $fg['g'], $fg['b']);
// Text
//$text = isset($_GET['text']) ? strip_tags($_GET['text']) : $getsize;
//$text = str_replace('+', ' ', $text);
// Text positioning
$fontsize = 4;
$fontwidth = imagefontwidth($fontsize);
// width of a character
$fontheight = imagefontheight($fontsize);
// height of a character
$length = strlen($text);
// number of characters
$textwidth = $length * $fontwidth;
// text width
$xpos = (imagesx($image) - $textwidth) / 2;
$ypos = (imagesy($image) - $fontheight) / 2;
// Generate text
imagestring($image, $fontsize, $xpos, $ypos, $text, $setfg);
// Render image
imagepng($image);
}
示例8: hide
function hide($mail, $imgAttr = null)
{
// chequea si la librería GD esta instalada en el server
if (!extension_loaded('gd') || !function_exists('gd_info')) {
return $mail;
}
$filepath = IMAGES_URL . "mail/";
$filename = $filepath . md5($mail) . ".png";
$url = "mail/" . md5($mail) . ".png";
if (!file_exists($filename)) {
if (!is_dir($filepath)) {
@mkdir($filepath);
}
/*calculo el tamaño que va a tener la imagen*/
$width = imagefontwidth(3) * strlen($mail);
$height = imagefontheight(3);
$image = imagecreatetruecolor($width, $height);
/*el color rojo lo uso como background transparente*/
$white = imagecolorallocate($image, 255, 255, 255);
$fontColor = ImageColorAllocate($image, 88, 88, 90);
imagefill($image, 0, 0, $white);
imagecolortransparent($image, $white);
imagestring($image, 3, 0, 0, $mail, $fontColor);
imagepng($image, $filename);
imagedestroy($image);
}
return $this->Html->image($url, $imgAttr);
}
示例9: erzeugePlotBalkenHorizontal
function erzeugePlotBalkenHorizontal($width, $barHeight, $filename, $bars)
{
$height = $barHeight * count($bars);
$image = imagecreatetruecolor($width, $height);
$black = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $width, $height, imagecolorallocate($image, 255, 255, 255));
$y = 0;
foreach ($bars as $bar) {
$c1 = mt_rand(100, 220);
$c2 = mt_rand(100, 220);
$c3 = mt_rand(100, 220);
$color = imagecolorallocate($image, $c1, $c2, $c3);
$w = $bar["wert"] * $width;
imagefilledrectangle($image, 0, $y, $w, $y + $barHeight, $color);
imagerectangle($image, 0, $y, $w, $y + $barHeight, $black);
if (imagefontwidth(3) * strlen($bar["beschriftung"]) > $w + 8) {
imagestring($image, 3, $w + 4, $y + 3, $bar["beschriftung"], $black);
} else {
imagestring($image, 3, 4, $y + 3, $bar["beschriftung"], $black);
}
$y += $barHeight;
}
imagerectangle($image, 0, 0, $width - 1, $height - 1, $black);
imagepng($image, $filename, 0);
}
示例10: create_image
function create_image()
{
// *** Generate a passcode using md5
// (it will be all lowercase hex letters and numbers ***
$md5 = md5(rand(0, 9999));
$pass = substr($md5, 10, 5);
// *** Set the session cookie so we know what the passcode is ***
$_SESSION["pass"] = $pass;
// *** Create the image resource ***
$image = ImageCreatetruecolor(100, 20);
// *** We are making two colors, white and black ***
$clr_white = ImageColorAllocate($image, 255, 255, 255);
$clr_black = ImageColorAllocate($image, 0, 0, 0);
// *** Make the background black ***
imagefill($image, 0, 0, $clr_black);
// *** Set the image height and width ***
imagefontheight(15);
imagefontwidth(15);
// *** Add the passcode in white to the image ***
imagestring($image, 5, 30, 3, $pass, $clr_white);
// *** Throw in some lines to trick those cheeky bots! ***
imageline($image, 5, 1, 50, 20, $clr_white);
imageline($image, 60, 1, 96, 20, $clr_white);
// *** Return the newly created image in jpeg format ***
return imagejpeg($image);
// *** Just in case... ***
imagedestroy($image);
}
示例11: _createScaleBarMap
private function _createScaleBarMap($label, $length)
{
$font = 1;
$fullLabel = $label . ' ' . $this->_getLengthUnit();
$stringWidth = imagefontwidth($font) * strlen($fullLabel);
if ($stringWidth > $length) {
$width = $stringWidth;
} else {
$width = $length;
}
$width += 20;
$height = imagefontheight($font) + 20;
//@todo drawing of scalebar not work proper for some version GD, rememer to fix it
$scaleBarImage = imagecreatetruecolor($width, $height);
$transparentColor = imagecolorat($scaleBarImage, 0, 0);
imagecolortransparent($scaleBarImage, $transparentColor);
$transparent = imagecolorallocatealpha($scaleBarImage, 0, 0, 0, 127);
imagefilledrectangle($scaleBarImage, 0, 0, $width, $height, $transparent);
$barPosX = round(($width - $length) / 2);
$barPosY = $height - 5;
$color = imagecolorallocate($scaleBarImage, 1, 0, 0);
imageline($scaleBarImage, $barPosX, $barPosY, $barPosX + $length, $barPosY, $color);
imageline($scaleBarImage, $barPosX, $barPosY - 3, $barPosX, $barPosY + 3, $color);
imageline($scaleBarImage, $barPosX + $length, $barPosY - 3, $barPosX + $length, $barPosY + 3, $color);
$stringPosX = round(($width - $stringWidth) / 2);
$stringPoxY = 10;
imagestring($scaleBarImage, $font, $stringPosX, $stringPoxY, $fullLabel, $color);
return $scaleBarImage;
}
示例12: createText
/**
* @name : makeImageF
*
* Function for create image from text with selected font.
*
* @param String $text : String to convert into the Image.
* @param String $font : Font name of the text.
* @param int $W : Width of the Image.
* @param int $H : Hight of the Image.
* @param int $X : x-coordinate of the text into the image.
* @param int $Y : y-coordinate of the text into the image.
* @param int $fsize : Font size of text.
* @param array $color : RGB color array for text color.
* @param array $bgcolor : RGB color array for background.
*
*/
public function createText($text, $font = "CENTURY.TTF", $W = 200, $H = 20, $X = 0, $Y = 100, $fsize = 20, $color = array(0xff, 0xff, 0xff), $bgcolor = array(0xff, 0xff, 0xff))
{
$text_color = imagecolorallocate($this->im, $color[0], $color[1], $color[2]);
$fontwidth = imagefontwidth($fsize);
$center = imagesx($this->im) / 2 - $fontwidth * (strlen($text) / 2);
imagettftext($this->im, $fsize, $X, $center - 20, $fsize + 15, $text_color, $font, $text);
//imagestring($im, 5, 20, 20, 'See my "selfie review \n @ Robert Cafe"', $textcolor);
}
示例13: build
public function build($text = '', $showText = true, $fileName = null)
{
if (trim($text) <= ' ') {
throw new exception('barCode::build - must be passed text to operate');
}
if (!($fileType = $this->outMode[$this->mode])) {
throw new exception("barCode::build - unrecognized output format ({$this->mode})");
}
if (!function_exists("image{$this->mode}")) {
throw new exception("barCode::build - unsupported output format ({$this->mode} - check phpinfo)");
}
$text = strtoupper($text);
$dispText = "* {$text} *";
$text = "*{$text}*";
// adds start and stop chars
$textLen = strlen($text);
$barcodeWidth = $textLen * (7 * $this->bcThinWidth + 3 * $this->bcThickWidth) - $this->bcThinWidth;
$im = imagecreate($barcodeWidth, $this->bcHeight);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $white);
$xpos = 0;
for ($idx = 0; $idx < $textLen; $idx++) {
if (!($char = $text[$idx])) {
$char = '-';
}
for ($ptr = 0; $ptr <= 8; $ptr++) {
$elementWidth = $this->codeMap[$char][$ptr] ? $this->bcThickWidth : $this->bcThinWidth;
if (($ptr + 1) % 2) {
imagefilledrectangle($im, $xpos, 0, $xpos + $elementWidth - 1, $this->bcHeight, $black);
}
$xpos += $elementWidth;
}
$xpos += $this->bcThinWidth;
}
if ($showText) {
$pxWid = imagefontwidth($this->fontSize) * strlen($dispText) + 10;
$pxHt = imagefontheight($this->fontSize) + 2;
$bigCenter = $barcodeWidth / 2;
$textCenter = $pxWid / 2;
imagefilledrectangle($im, $bigCenter - $textCenter, $this->bcHeight - $pxHt, $bigCenter + $textCenter, $this->bcHeight, $white);
imagestring($im, $this->fontSize, $bigCenter - $textCenter + 5, $this->bcHeight - $pxHt + 1, $dispText, $black);
}
if (!$fileName) {
header("Content-type: image/{$fileType}");
}
switch ($this->mode) {
case 'gif':
imagegif($im, $fileName);
case 'png':
imagepng($im, $fileName);
case 'jpeg':
imagejpeg($im, $fileName);
case 'wbmp':
imagewbmp($im, $fileName);
}
imagedestroy($im);
}
示例14: CenterTextBanner
private function CenterTextBanner($z, $y, $zone)
{
$a = strlen($z);
$b = imagefontwidth($y);
$c = $a * $b;
$d = $zone - $c;
$e = $d / 2;
return $e;
}
示例15: getMinSize
public function getMinSize()
{
$fts_len = strlen((string) $this->unit) + 1;
$this->offset = imagefontwidth(2) * $fts_len;
$this->osSum = $this->offset + $this->space;
$this->omSum = $this->offset + $this->margin;
$this->xLen = $this->width - $this->osSum - $this->omSum;
$this->yLen = $this->height - $this->osSum - $this->omSum;
return $this->osSum + $this->omSum;
}