You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

99 lines
4.6 KiB

Index: phpqrcode/qrencode.php
--- phpqrcode/qrencode.php.orig 2010-08-18 07:06:24.000000000 +0200
+++ phpqrcode/qrencode.php 2011-11-05 10:45:20.000000000 +0100
@@ -280,10 +280,10 @@
}
//----------------------------------------------------------------------
- public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
+ public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false, $fgcolor = "000000", $bgcolor = "ffffff")
{
$enc = QRencode::factory($level, $size, $margin);
- return $enc->encodePNG($text, $outfile, $saveandprint=false);
+ return $enc->encodePNG($text, $outfile, $saveandprint=false, $fgcolor, $bgcolor);
}
//----------------------------------------------------------------------
@@ -477,7 +477,7 @@
}
//----------------------------------------------------------------------
- public function encodePNG($intext, $outfile = false,$saveandprint=false)
+ public function encodePNG($intext, $outfile = false,$saveandprint=false, $fgcolor = "000000", $bgcolor = "FFFFFF")
{
try {
@@ -491,7 +491,7 @@
$maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin));
- QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint);
+ QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint, $fgcolor, $bgcolor);
} catch (Exception $e) {
Index: phpqrcode/qrimage.php
--- phpqrcode/qrimage.php.orig 2010-08-18 07:06:24.000000000 +0200
+++ phpqrcode/qrimage.php 2011-11-05 10:41:13.000000000 +0100
@@ -27,9 +27,9 @@
class QRimage {
//----------------------------------------------------------------------
- public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE)
+ public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE, $fgcolor = "000000", $bgcolor = "FFFFFF")
{
- $image = self::image($frame, $pixelPerPoint, $outerFrame);
+ $image = self::image($frame, $pixelPerPoint, $outerFrame, $fgcolor, $bgcolor);
if ($filename === false) {
Header("Content-type: image/png");
@@ -48,9 +48,9 @@
}
//----------------------------------------------------------------------
- public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85)
+ public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85, $fgcolor = "000000", $bgcolor = "FFFFFF")
{
- $image = self::image($frame, $pixelPerPoint, $outerFrame);
+ $image = self::image($frame, $pixelPerPoint, $outerFrame, $fgcolor, $bgcolor);
if ($filename === false) {
Header("Content-type: image/jpeg");
@@ -63,7 +63,14 @@
}
//----------------------------------------------------------------------
- private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4)
+ private static function _rgb2array($rgb) {
+ return array(
+ base_convert(substr($rgb, 0, 2), 16, 10),
+ base_convert(substr($rgb, 2, 2), 16, 10),
+ base_convert(substr($rgb, 4, 2), 16, 10),
+ );
+ }
+ private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4, $fgcolor = "000000", $bgcolor = "FFFFFF")
{
$h = count($frame);
$w = strlen($frame[0]);
@@ -72,9 +79,12 @@
$imgH = $h + 2*$outerFrame;
$base_image =ImageCreate($imgW, $imgH);
+
+ $fg = self::_rgb2array($fgcolor);
+ $bg = self::_rgb2array($bgcolor);
- $col[0] = ImageColorAllocate($base_image,255,255,255);
- $col[1] = ImageColorAllocate($base_image,0,0,0);
+ $col[0] = ImageColorAllocate($base_image, $bg[0], $bg[1], $bg[2]);
+ $col[1] = ImageColorAllocate($base_image, $fg[0], $fg[1], $fg[2]);
imagefill($base_image, 0, 0, $col[0]);
@@ -92,4 +102,4 @@
return $target_image;
}
- }
\ No newline at end of file
+ }