백엔드 개발 PHP 튜토리얼 PHP 实现的将图片转换为TXT_PHP

PHP 实现的将图片转换为TXT_PHP

May 29, 2016 am 11:48 AM
이미지 변환

PHP 实现的将图片转换为TXT

<&#63;php
/*
2015年10月19日10:24:59

*/
// 打开一幅图像

$file_name='d:\ascii_dora.png';
$chars = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]&#63;-_+~<>i!lI;:,\"^`'. ";
function getimgchars($color_tran,$chars){
  $length = strlen($chars);
  $alpha=$color_tran['alpha'];
  $r=$color_tran['red'];
  $g=$color_tran['green'];
  $b=$color_tran['blue'];
  $gray = intval(0.2126 * $r + 0.7152 * $g + 0.0722 * $b);

  if($gray==0){
    return '.';
  }

  if($gray<196){
     $unit = (256.0 + 1)/$length;
    return $chars[intval($gray/$unit)];
  }

  return " ";

}

function color_img($color_tran,$chars){
  $length = strlen($chars);
  $alpha=$color_tran['alpha'];

  $r=$color_tran['red'];
  $g=$color_tran['green'];
  $b=$color_tran['blue'];
  $gray = intval(0.2126 * $r + 0.7152 * $g + 0.0722 * $b);
  $rand=rand (0, $length-1);
  $color="rgb(".$r.",".$g.",".$b.")";
  $char=$chars[$rand];
  return '<span style="color:'.$color.'" >'.$char."</span>";;
  
}

function resize_img($file_name,$chars,$flage=true){
  //header('Content-Type: image/jpeg');
  list($width, $height,$type) = getimagesize($file_name);
  $fun='imagecreatefrom' . image_type_to_extension($type, false);
  if($type==3){
    $flage=false;
  }
  $fun($file_name);
  $new_height =100;
  $percent=$height/$new_height;
  $new_width=$width/$percent;
  $image_p = imagecreatetruecolor($new_width, $new_height);
  $image = $fun($file_name);
  imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  if($flage){
    return $image_p;
  }else{
    return $image;
  }

}

$im=resize_img($file_name,$chars);

$width=imagesx($im);
$height=imagesy($im);

$back_text="";

for($i=1;$i<=$height;$i++){
  for($j=1;$j<=$width;$j++){
    $color_index = imagecolorat($im, $j-1, $i-1);
    $color_tran = imagecolorsforindex($im, $color_index);
    $back_text.=color_img($color_tran,$chars,false);
  }
  $back_text.="<br/>";
}
 
echo "<pre class="brush:php;toolbar:false">";
echo $back_text;
echo "
로그인 후 복사
"; //file_put_contents('1.txt',$back_text);

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Golang을 사용하여 사진을 SVG 벡터 그래픽으로 변환하는 방법 Golang을 사용하여 사진을 SVG 벡터 그래픽으로 변환하는 방법 Aug 25, 2023 pm 10:28 PM

Golang을 사용하여 사진을 SVG 벡터 그래픽으로 변환하는 방법

Golang을 사용하여 여러 장의 사진을 비디오로 변환하는 방법 Golang을 사용하여 여러 장의 사진을 비디오로 변환하는 방법 Aug 22, 2023 am 11:29 AM

Golang을 사용하여 여러 장의 사진을 비디오로 변환하는 방법

Golang을 사용하여 그림을 벡터 그래픽 및 행렬 표현으로 변환하는 방법 Golang을 사용하여 그림을 벡터 그래픽 및 행렬 표현으로 변환하는 방법 Aug 19, 2023 pm 08:57 PM

Golang을 사용하여 그림을 벡터 그래픽 및 행렬 표현으로 변환하는 방법

Golang을 사용하여 여러 장의 사진을 분할 및 이미지 융합으로 변환하는 방법 Golang을 사용하여 여러 장의 사진을 분할 및 이미지 융합으로 변환하는 방법 Aug 26, 2023 pm 02:57 PM

Golang을 사용하여 여러 장의 사진을 분할 및 이미지 융합으로 변환하는 방법

PHP 및 GD 라이브러리 튜토리얼: 그림을 그레이스케일로 변환하는 방법 PHP 및 GD 라이브러리 튜토리얼: 그림을 그레이스케일로 변환하는 방법 Jul 13, 2023 pm 03:22 PM

PHP 및 GD 라이브러리 튜토리얼: 그림을 그레이스케일로 변환하는 방법

Golang을 사용하여 여러 장의 사진을 애니메이션 GIF 이미지로 변환하는 방법 Golang을 사용하여 여러 장의 사진을 애니메이션 GIF 이미지로 변환하는 방법 Aug 25, 2023 pm 11:13 PM

Golang을 사용하여 여러 장의 사진을 애니메이션 GIF 이미지로 변환하는 방법

PHP 및 GD 라이브러리 튜토리얼: 이미지를 흑백으로 변환하는 방법 PHP 및 GD 라이브러리 튜토리얼: 이미지를 흑백으로 변환하는 방법 Jul 12, 2023 am 10:33 AM

PHP 및 GD 라이브러리 튜토리얼: 이미지를 흑백으로 변환하는 방법

PHP를 사용하여 Qiniu 클라우드 저장소의 사진을 Base64 형식으로 변환하고 로컬 폴더에 저장하는 방법은 무엇입니까? PHP를 사용하여 Qiniu 클라우드 저장소의 사진을 Base64 형식으로 변환하고 로컬 폴더에 저장하는 방법은 무엇입니까? Sep 06, 2023 am 09:57 AM

PHP를 사용하여 Qiniu 클라우드 저장소의 사진을 Base64 형식으로 변환하고 로컬 폴더에 저장하는 방법은 무엇입니까?

See all articles