中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php圖像如何轉換成字符串

發布時間:2021-10-15 10:55:07 來源:億速云 閱讀:170 作者:小新 欄目:編程語言

這篇文章主要介紹了php圖像如何轉換成字符串,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

php圖像轉換成字符串的方法:1、安裝php_imagick擴展;2、通過“function img2str($img_src,$width_index,$height_index){...}”方法將圖像轉換成字符串即可。

本文操作環境:windows7系統、PHP7.1版、DELL G3電腦

php將image圖片轉化為字符串(GD庫操作及imagick兩種實現方式)

前兩天研究php中的 imagick 擴展的時候,突發奇想實現的一個小功能感覺挺有意思,在這里記錄一下:

將一張image圖片轉化為字符串的形式,先上一張效果圖。(運行筆記中的代碼需要先安裝 php_imagick 擴展 教程可以看這里:PHP擴展之 Imagick安裝)

php圖像如何轉換成字符串

原圖:

php圖像如何轉換成字符串

<?php
/**
* 圖片轉換為字符圖
* @param string $imagePath 圖片地址
* @param int $width x軸方向縮放比例
* @param int $height y軸方向縮放比例
* @return string 生成的字符串圖
*/
function img2String($imagePath,$width=1,$height=1)
{
    //檢查是否安裝 php_imagick 擴展
    if(!extension_loaded("imagick")){
        exit("請先安裝 imagick 模塊");
    }
    $imagick = new \Imagick(realpath($imagePath));
    //將生成的imagick對象轉化為一個像素迭代器,可以從該迭代器中獲取沒個像素的 rgb 的值。不知道什么是rgb的請問度娘
    $imageIterator = new \ImagickPixelIterator($imagick);
     $str='O80GCLft*+;:,. ';
    foreach ($imageIterator as $rows => $pixels) {
            if($rows%$width == 1 || $width == 1){
                echo "\n";
                foreach ($pixels as $column => $pixel) {
                    if($column%$height == 1 || $height == 1){
                        //灰度計算公式  某個像素點的灰度值 = 紅色值*0.3 + 綠色值 * 0.59 + 藍色值 * 0.11
                        $gray = $pixel->getColor()['r']*0.3 + $pixel->getColor()['g']*0.59 + $pixel->getColor()['b']*0.11;
                        //由于 rgb 三原色的數值范圍在 [0,255] 所以求出的灰度值的范圍也是 [0,255],所以我們計算像素的 "飽和度" = 灰度值/255;
                        $r = $gray/255;
                        //根據像素的 "飽和度" 選擇合適的字符
                        $offset=(int)ceil($r*(strlen($str)-1));    
                        if($offset==(strlen($str)-1)){
                            echo " ";
                        }else{
                            echo $str[$offset];  
                        }
                    }         
                }
                $imageIterator->syncIterator();
            }    
    }
}
img2String('huawei.jpg',2,1);

復制代碼

/**
* 圖片轉為字符串
* @param string $img_src 圖片地址
* @param int $width_index 橫向縮放比例
* @param int $height_index 縱向縮放比例
* @return string 生成的字符串
**/
function img2str($img_src,$width_index,$height_index){
    $resource = imagecreatefromjpeg($img_src);
    $width = imagesx($resource);
    $height = imagesy($resource);
    imagefilter($resource, IMG_FILTER_GRAYSCALE);
    for ($i=0; $i < $height; $i++) {
        if($i%$height_index==0){
            for ($j=0; $j < $width; $j++) {
                if($j%$width_index==0){
                    $color_index = imagecolorat($resource, $j, $i);
                    $rgb = imagecolorsforindex($resource,$color_index);
                    $gray = $rgb['red'];
                    $str='O80GCLft*+;:,. ';
                    $r = $gray/255;
                    $offset=(int)ceil($r*(strlen($str)-1));
                    echo $str[$offset];
                }
            }
            echo "\n";
        }
    }
}
img2str("./huawei.jpg",1,2);

感謝你能夠認真閱讀完這篇文章,希望小編分享的“php圖像如何轉換成字符串”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

崇信县| 涿鹿县| 聂拉木县| 揭阳市| 德钦县| 凤庆县| 蕉岭县| 林州市| 平湖市| 射阳县| 澄城县| 牡丹江市| 丰镇市| 开封市| 房产| 昔阳县| 古丈县| 八宿县| 沧州市| 远安县| 和田市| 洪洞县| 青田县| 古丈县| 鄢陵县| 丰县| 九江市| 阜南县| 东兰县| 罗源县| 晋江市| 霍林郭勒市| 仁怀市| 朝阳市| 和田市| 合山市| 报价| 封丘县| 宣武区| 遂溪县| 北川|