Belépés   Regisztráció
Belépés
Felhasználónév
Jelszó: Elfelejtett jelszó?
 
HHW.hu
Filmek
TV Sorozatok Feliratos filmek Szinkronos filmek HD és Blu-ray Karácsony Online nézhető filmek Film kollekciók Mobilos filmek Rajzfilmek Dokumentum filmek Horror filmek Magyar filmek DVD ISO HUN DVD ISO ENG DVD-Rip ENG 3D filmek Zenés filmek
Zenék
Zenei Kérések Videóklippek, koncertfelvételek OST Single
Játékok
Játék Kérések
XXX
XXX Játékok XXX Magyar XXX Sorozatok, Gyűjtemények XXX Képek XXX Magazinok, képregények XXX Videók és Rövid filmek
Mobil
Mobilos filmek Mobilos programok Androidos játékok Mobil Háttérképek Csengőhangok
Programok
Windows Op. ISO ENG Windwos Op. ISO HUN Microsoft Office MacOS Program Kérések
Háttérképek
Templates Háttérképek Témák
E-könyvek
E-könyv Kérések Külföldi könyvek Hangoskönyvek Külföldi magazinok Gyerek hangoskönyvek Gyerekdalok
HHW.hu Informatika Képszerkesztés Képet szöveggé

  • 0 szavazat - átlag 0
  • 1
  • 2
  • 3
  • 4
  • 5
Rétegzési módok
Képet szöveggé
Elérhető Orpheus
Administrator
*******
Üzenetek: 2,744
Témák: 389
Csatlakozott: 2007 Apr
Értékelés: 0
#3
2023-03-06, 14:55
Ez a kód legenerája nektek képet ASCII kódos szöveggé. Ha van rá igény, megcsinálom itt a hhw szereverén és akkor lehet használni online.

[CODE=javascript]// Betöltjük az img elemet
var img = new Image();
img.src = 'path/to/image.png';

// Várjuk meg, amíg a kép betöltődik
img.onload = function() {

// Létrehozzuk a Canvas elemet és beállítjuk a méreteket
var canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;

// Végrehajtjuk a kép átméretezését a Canvas-ra
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);

// Létrehozzuk a szöveg változót
var asciiText = '';

// Végigmegyünk a képen és minden pixelhez hozzárendelünk egy ASCII karaktert
for (var y = 0; y < img.height; y++) {
for (var x = 0; x < img.width; x++) {

// Lekérjük az adott pixel színét a Canvas-on
var pixel = ctx.getImageData(x, y, 1, 1);
var data = pixel.data;

// Számítjuk az átlagos színértéket a pixelről
var avg = (data[0] + data[1] + data[2]) / 3;

// Hozzárendeljük az ASCII karaktert az átlagos színértékhez
var asciiChar = getAsciiChar(avg);

// Hozzáadjuk a szöveghez az ASCII karaktert
asciiText += asciiChar;
}

// Hozzáadjuk a sortörést a szöveghez
asciiText += '\n';
}

// Kiírjuk a szöveget a konzolra
console.log(asciiText);
};

// Függvény, amely visszaadja az ASCII karaktert az adott színértékhez
function getAsciiChar(value) {
var asciiChars = [' ', '.', ':', '-', '=', '+', '*', '#', '%', '@'];
var step = 255 / (asciiChars.length - 1);
var index = Math.floor(value / step);
return asciiChars[index];
}
[/CODE]


Az img változóban lévő kép betöltődése után létrehozzuk a Canvas objektumot és átméretezzük a képet. Ezután végigmegyünk a képen és minden pixelhez hozzárendelünk egy ASCII karaktert az átlagos színértékek alapján. A getAsciiChar() függvény visszaadja az adott színértékhez tartozó ASCII karaktert, majd a szöveget kií
írjuk a konzolra.
Az asciiChars tömbben definiáljuk az ASCII karaktereket a legvilágosabbtól a legsötétebbig, majd kiszámítjuk az egyes karakterekhez tartozó színérték-tartományokat az alapszín alapján. Ezután az index változóba elmentjük az adott színértékhez tartozó ASCII karaktert, és hozzáadjuk a asciiText változóhoz.
Végül kiírjuk a asciiText szöveget a konzolra. Ez az eljárás ASCII-artot eredményez, amelyet könnyű másolni és beilleszteni más alkalmazásokba, mint például egy e-mail vagy közösségi média platform.
Fontos megjegyezni, hogy az eljárás hatékonysága és a generált ASCII art minősége jelentősen függ a betöltött kép méretétől és a getAsciiChar() függvényben definiált ASCII karakterek számától. Ha túl sok karaktert használunk, az ASCII art túl részletes és olvashatatlan lehet, ha pedig túl kevés karaktert használunk, az ASCII art túl általános és nem mutatja meg a kép részleteit. A kívánt hatás elérése érdekében kísérletezhetünk a karakterek számával, a színárnyalatokkal és a kontraszttal.
„Az igaz ember járta ösvényt minden oldalról körülveszi az önzők és a gonoszok igazságtalansága. Ám, aki az irgalmasság és a jóakarat nevében vezeti az erőtleneket a sötétség völgyén át, az valóban testvére és őrzője embertársainak. És lesújtok rád nagy haraggal és rettentő bosszúval mindazokra, akik testvéreim ártalmára törnek. És majd megtudod, hogy az én nevem az Úr, amikor szörnyű bosszúm lesújt rád!”
Ponyvaregény : Ezékiel 25:17
Weboldal A szerző üzeneteinek keresése
Válaszol


Üzenetek ebben a témában
RE: Képet szöveggé - szerző werty - 2011-01-24, 20:16
RE: Képet szöveggé - szerző Orpheus - 2011-01-24, 21:29
RE: Képet szöveggé - szerző Orpheus - 2023-03-06, 14:55
RE: Képet szöveggé - szerző mavilmos - 2023-03-08, 14:22

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Jelenlevő felhasználók ebben a témában:
1 Vendég

  •  
  • Vissza a lap tetejére  
  • Lite mode  
  •  Kapcsolat
Theme © 2014 iAndrew
Magyar fordítás: Sz.Gábor
Fejlesztő: MyBB, © 2002-2026 MyBB Group.
Lineáris
Rétegezett
Megtekintés nyomtatható verzióban
Feliratkozás a témára
Szavazás hozzáadása ehhez a témához
Send thread to a friend