第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

無法使用 PHP 在 PDF 中顯示調(diào)整大小的圖像

無法使用 PHP 在 PDF 中顯示調(diào)整大小的圖像

PHP
炎炎設(shè)計(jì) 2022-05-27 13:19:45
我正在嘗試從外部 URL 加載圖像,然后調(diào)整其大小并以 PDF 格式顯示。我現(xiàn)在正在嘗試使用單個(gè)圖像來實(shí)現(xiàn)它,但整個(gè)功能將在一個(gè)foreach循環(huán)中處理大量非常大的圖像。首先,我調(diào)整了圖像的大小,然后獲取圖像的內(nèi)容,應(yīng)用 base65 編碼,從中構(gòu)建一個(gè)源字符串并將該字符串添加到我的 img src 標(biāo)簽中。這是我的代碼 -    $filename = 'https://jooinn.com/images/nature-319.jpg'; // URL of the image    $percent = 0.25; // percentage of resize    // Content type    header('Content-type: image/jpeg');    // Get new dimensions    list($width, $height) = getimagesize($filename);    $new_width = $width * $percent;    $new_height = $height * $percent;    // Resample    $image_p = imagecreatetruecolor($new_width, $new_height);    $image = imagecreatefromjpeg($filename);    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);    // Output    $imageData = base64_encode(file_get_contents($image_p));    // Format the image SRC:  data:{mime};base64,{data};    $src = 'data: '.mime_content_type($image_p).';base64,'.$imageData;    // Echo out a sample image    echo '<img src="' . $src . '">';    imagedestroy($image_p);我認(rèn)為問題出在這條線上$imageData = base64_encode(file_get_contents($image_p));,我做錯(cuò)了。它可以很好地與 URL 一起使用,但我怎樣才能使它適用于調(diào)整大小的圖像呢?例如,只要我不使用調(diào)整大小的圖像,以下內(nèi)容就可以完美地工作 -    $filename = 'https://jooinn.com/images/nature-319.jpg'; // URL of the image    // Output    $imageData = base64_encode(file_get_contents($filename));    // Format the image SRC:  data:{mime};base64,{data};    $src = 'data: '.mime_content_type($filename).';base64,'.$imageData;    // Echo out a sample image    echo '<img src="' . $src . '">';
查看完整描述

1 回答

?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

確實(shí),正如您所說,代碼中的以下行是錯(cuò)誤的:


$imageData = base64_encode(file_get_contents($image_p));

該$image_p變量不是文件名,而是由 imagecreatetruecolor 創(chuàng)建的資源。您首先必須使用 將其轉(zhuǎn)換為 jpeg 文件imagejpeg()。您可以避免在使用ob_*xxx*函數(shù)編碼為 base64 之前保存中間文件


ob_start();

imagejpeg($image_p);

$imageContent = ob_get_contents();

$imageData = base64_encode($imageContent);

ob_end_clean();

這行也有問題,同樣$image_p不是文件名:


$src = 'data: '.mime_content_type($image_p).';base64,'.$imageData;

在創(chuàng)建 jpeg 文件時(shí),只需將其替換為:


$src = 'data: image/jpeg;base64,'.$imageData;

為方便起見,這里是完整的工作腳本:


$filename = 'https://jooinn.com/images/nature-319.jpg'; // URL of the image

$percent = 0.25; // percentage of resize


// Content type

header('Content-type: image/jpeg');


// Get new dimensions

list($width, $height) = getimagesize($filename);

$new_width = $width * $percent;

$new_height = $height * $percent;


// Resample

$image_p = imagecreatetruecolor($new_width, $new_height);

$image = imagecreatefromjpeg($filename);

imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);


// Output

ob_start();

imagejpeg($image_p);

$imageContent = ob_get_contents();

$imageData = base64_encode($imageContent);

ob_end_clean();


// Format the image SRC:  data:{mime};base64,{data};

$src = 'data: image/jpeg;base64,'.$imageData;


// Echo out a sample image

echo '<img src="' . $src . '">';

imagedestroy($image_p);


查看完整回答
反對(duì) 回復(fù) 2022-05-27
  • 1 回答
  • 0 關(guān)注
  • 146 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)