小编Mic*_*ski的帖子

合并两个PNG透明图像

我正在尝试创建一个函数来调整透明PNG图像的大小,并为它们添加透明的PNG水印.我试图放置imagealphablending($ image_p,false); 和imagesavealpha($ image_p,true); 无处不在,但它会使黑色背景或裁剪出第一张图像.这是我的代码:

$newName=$this->filename;
list($OrigWidth, $OrigHeight)=$this->info;
if($OrigHeight>$OrigWidth){
    $pomer=$OrigWidth/$OrigHeight;
    $NewHeight=$h;
    $NewWidth=$NewHeight*$pomer;
}else{
    $pomer=$OrigHeight/$OrigWidth;
    $NewWidth=$w;
    $NewHeight=$NewWidth*$pomer;
}

$image_p=imagecreatetruecolor($NewWidth, $NewHeight);
if($this->ext=="jpg")
$image=imagecreatefromjpeg($newName);
elseif($this->ext=="png")
$image=imagecreatefrompng($newName);
elseif($this->ext=="gif")
$image=imagecreatefromgif($newName);

if($this->ext=="png" or $this->ext=="gif"){ //pr?hlednost
    imagealphablending($image_p, false);
    imagesavealpha($image_p,true);
    $transparent = imagecolorallocatealpha($image_p, 255, 255, 255, 127);
    imagefilledrectangle($image_p, 0, 0, $NewWidth, $NewHeight, $transparent);
}

if(($OrigWidth>$w or $OrigHeight>$h) and $w!=0)
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $NewWidth, $NewHeight, $OrigWidth, $OrigHeight);
else
    $image_p=$image; //není t?eba zmenšovat

if($vodoznak!=""){ //if watermark is set
    //imagealphablending($image_p, false);
    //imagesavealpha($image_p,true);
    $watermark = imagecreatefrompng($vodoznak);     
    $ww = imagesx($watermark); …
Run Code Online (Sandbox Code Playgroud)

php png gd watermark

6
推荐指数
1
解决办法
692
查看次数

用于PHP会话存储的最佳MySQL存储引擎

我想使用MySQL来存储会话变量.根据我的理解,这意味着在每个页面请求中将有一个读取和一个写入表.

哪个MySQL存储引擎最适合此任务?MyISAM,InnoDB,MariaDB(我在PHPMyAdmin中没有看到),内存还是完全不同的东西?

php mysql session storage-engines

6
推荐指数
1
解决办法
4329
查看次数

MySQL:在一个语句中组合2列的结果

让我们说我有2个结果集如下

 R1        R2
| 1 |     | 5 |
| 2 |     | 6 |
| 3 |     | 7 |
| 4 |     | 8 |
Run Code Online (Sandbox Code Playgroud)

我需要将这些结果合并到一个SET中,所以我有这样的事情:

 R3
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
Run Code Online (Sandbox Code Playgroud)

目前,我正在使用UNION这样做:

SELECT c_1 AS result FROM table WHERE c_1=3 OR c_2=3
UNION
SELECT c_2 AS result FROM table WHERE c_1=3 OR c_2=3
Run Code Online (Sandbox Code Playgroud)

基本上,我最终在表上执行两次相同的操作,每次只检索不同的行.有没有更有效的方法可以做到这一点?我需要将结果放在一个列中,因为这是IN的限制.从长远来看,我需要做的就是这个

SELECT name FROM person …
Run Code Online (Sandbox Code Playgroud)

mysql sql union join

6
推荐指数
1
解决办法
1919
查看次数

导入错误:这是 MySQLdb 版本 (1, 2, 4, 'beta', 4),但 _mysql 是版本 (1, 2, 5, 'final', 1)

我已经按照以下步骤在 mac 上安装了 MySQL-python:

pip uninstall MySQL-python
brew install mysql
pip install MySQL-python
Run Code Online (Sandbox Code Playgroud)

然后测试一下:

python -c "import MySQLdb"
Run Code Online (Sandbox Code Playgroud)

当我测试它时,它在我的 mac 终端上给了我以下错误:

导入错误:这是 MySQLdb 版本 (1, 2, 4, 'beta', 4),但 _mysql 是版本 (1, 2, 5, 'final', 1)

请帮我解决这个问题。

python mysql macos mysql-python python-2.7

6
推荐指数
2
解决办法
9416
查看次数

计算MySQL中随时间推移的增加或减少趋势

我有一个store_visits具有以下结构的表:

store_visits:
 store_name: string
 visit_count: integer
 visit_date: date
Run Code Online (Sandbox Code Playgroud)

我的目标是创建一个查询,对于每个商店和给定的日期范围,将计算:

  • 日期范围内的平均访问次数(当前使用AVG(visit_count))
  • 商店访问是增加还是减少
  • 相对增加/减少的速率(1到4比例,其中1 =低速率,4 =高速率)

访问的相对增加/减少率仅用于定向目的.它始终是线性比例.

我花了一天时间尝试构建MySQL查询来做到这一点,并且无法理解它.

任何帮助将不胜感激.

谢谢,-Scott

mysql trending

5
推荐指数
1
解决办法
3809
查看次数

PHP __get __set方法

class Dog {

    protected $bark = 'woof!';

    public function __get($key) {
        if (isset($this->$key)) {
            return $this->$key;
        }
    }
    public function __set($key, $val) {
        if (isset($this->$key)) {
             $this->$key = $val;
        }
    }
 }
Run Code Online (Sandbox Code Playgroud)

使用这些功能有什么意义.

如果我可以使用

$dog = new Dog();
$dog->bark = 'woofy';
echo $dog->bark;
Run Code Online (Sandbox Code Playgroud)

为什么我要把'吠声'称为"吠叫" protected?在这种情况下,这些__get()__set()方法是否有效地使'吠声'公开?

php getter setter magic-methods

5
推荐指数
1
解决办法
1387
查看次数

确认返回命令中的OR(||)用法

我遇到了一些有趣的使用|| 操作员在返回命令中,并且如果有人能确切地确认发生了什么(如果我理解它,我可以在将来自己使用它),我将不胜感激

代码是

    return (
        empty($neededRole) ||
        strcasecmp($role, 'admin') == 0 ||
        strcasecmp($role, $neededRole) == 0
    );

$ neededRole和$ role是null,'admin'或'manager'

我正在读它:
如果$neededRole是空的,则不需要进一步检查.返回true(并停止检查)
如果($role == 'admin')允许访问,则无论所需角色如何.
如果($role == $neededRole)允许访问,则返回true(并停止检查).返回true(并停止检查)

我猜测在达到'true'时检查停止,如果它到达行的末尾没有'true',它将默认为false.

我接近标记了吗?

php

5
推荐指数
1
解决办法
70
查看次数

JavaScript:如何通过变量名来检查变量是否存在?

我有这个问题.我有一个脚本,检查变量是否存在,因为一些脚本异步加载,如FB for Facebook或twttr for Twitter.

function whenAvailable(name, callback, interval) {
    interval || (interval = 100); // ms
    window.setTimeout(function() {
        if ((window.hasOwnProperty && window.hasOwnProperty(name)) || window[name] || !!eval(name)) {
            return callback();
        } else {
            window.setTimeout(arguments.callee, interval);
        }
    }, interval);
}
Run Code Online (Sandbox Code Playgroud)

看起来像这样

if ((window.hasOwnProperty && window.hasOwnProperty(name)) || window[name] || !!eval(name)) 
Run Code Online (Sandbox Code Playgroud)

不起作用.IE为eval(名称)抛出错误 - 例如,如果name ='FB',它表示它不能评估未定义的'FB'.

window.hasOwnProperty(name)如果不起作用name == 'twttr.widgets'.

是否存在通过var名称存在var的通用和跨浏览器检查?

javascript

5
推荐指数
1
解决办法
6478
查看次数

分散洗牌的ActiveRecord查询

我试图分页一个洗牌的ActiveRecord查询.使用Kaminari gem执行此操作的语法是:

@users = Kaminari.paginate_array(User.all.shuffle).page(params[:page]).per(20)
Run Code Online (Sandbox Code Playgroud)

这个问题是User.all在每个分页请求上重新洗牌,导致重复记录被调用.有没有办法防止这种重复?

mysql pagination ruby-on-rails ruby-on-rails-3 kaminari

5
推荐指数
1
解决办法
1315
查看次数

添加列值的Case语句

我需要编写一个将返回的case语句

“1 of 3” if someone voted in one of three elections, 
“2 of 3” if someone voted in two of three elections, 
“3 of 3” if someone voted in three of three elections, 
Run Code Online (Sandbox Code Playgroud)

问题是有些值是varchar而有些是null,我无法将它们添加到一起.这是我的想法,但我不能让它工作.

select 
id,
CASE 
     WHEN race1 + race2 + race3 = 0 then '0-3'
     WHEN race1 + race2 + race3 = 1 then '1-3'
     WHEN race1 + race2 + race3 = 2 then '2-3'
     WHEN race1 + race2 + race3 = 3 then '3-3'
     WHEN race1 …
Run Code Online (Sandbox Code Playgroud)

sql case sql-server-2008

5
推荐指数
1
解决办法
1万
查看次数