![]() |
|
Képet szöveggé - Nyomtatható verzió +- HHW.hu (https://hhwforum.hu) +-- Fórum: Informatika (https://hhwforum.hu/forumdisplay.php?fid=72) +--- Fórum: Képszerkesztés (https://hhwforum.hu/forumdisplay.php?fid=73) +--- Téma: Képet szöveggé (/showthread.php?tid=632) |
RE: Képet szöveggé - werty - 2011-01-24 hali Az a kérdésem lenne , hogy van olyan progi amely átkonvertál szöveg formátumba olyan weboldalt amelynek egy részében szöveg van beillesztve valamilyen kép formátumban a másik része viszont szöveg, tehát egy olyan fájlba kellene átkonvertálnia , amely csak szöveges formátumú. Géza RE: Képet szöveggé - Orpheus - 2011-01-24 képet szöveggé A weboldal szöveges részét simán át tudod konvertálni, írd be a google-be hogy "html to doc" vagy "html to doc convert" A képformátumot nem tudod közevetlen szöveggé konvertálni, ahhoz keress egy karakterfelismerő programot, de oda is egyesével kell beadni a felismerni kívánt képfájlokat. RE: Képet szöveggé - Orpheus - 2023-03-06 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. RE: Képet szöveggé - mavilmos - 2023-03-08 Kód: https://videotanfolyam.hu/blog/1634/Kepbol_szoveg_a_Google_Drive_val |