Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema con file jpg
Forum - C/C++ - Problema con file jpg

Avatar
browser3.0 (Banned user)
Newbie


Messaggi: 14
Iscritto: 07/11/2019

Segnala al moderatore
Postato alle 17:06
Martedì, 12/11/2019
Questo topic è stato chiuso dal moderatore

Salve , ho un file jpg(scaricato con google e nominato fsklaprovadelcuoco) di dimensione 640X640 pixel, 360dpi.
I pixel sono tutti di colore bianco, marrone e fucsia(255,255,255) .
Dovrei:
aprire il file fsklaprovadelcuoco,
cambiare il colore dei pixel ( in base a uno schema ben preciso ) in nero (0,0,0),
salvarlo cambiandogli nome fsklaprovadelcuoco1
riaprire il file fsklaprovadelcuoco
modificarlo e poi salvandolo con nome fsklaprovadelcuoco2
e via così per tot volte.
Infine , devo convertire questo programma in c in un codice in PHP.

Mi servirebbe qualche suggerimento su che approccio usare per la gestione dei pixel e come convertirlo in PHP.

Spero di essere stato chiaro
Grazie



Thejuster Edit:
Baggianate e paralocce varie eliminate.

Ultima modifica effettuata da Thejuster il 13/11/2019 alle 9:06
PM
Avatar
AldoBaldo (Member)
Expert


Messaggi: 431
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 19:02
Martedì, 12/11/2019
Se il programma è pensato per funzionare in ambiente Windows, potrebbe tornarti utile la libreria GDI+.
All'autore del testo trap, invece, potrebbe tornare utile una serie di sedute da un bravo psicoterapeuta.


Ma cosa vuoi che ne sappia? Io ci gioco, col codice, mica ci lavoro!
PM
Avatar
AldoBaldo (Member)
Expert


Messaggi: 431
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 23:09
Martedì, 12/11/2019
Mi sono un po' scervellato per cercare una soluzione al tuo problema, e sono riuscito a metterne insieme una che usa esclusivamente il C99 standard e qualche chiamata a putchar() per esportare una versione testuale del jpg convertito che ti serve. Vedi se puoi trovarla utile (in ambiente Windows).

Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <locale.h>
  3.  
  4. #define Q_PIXEL     135
  5.  
  6. const unsigned long long kPixel[Q_PIXEL] = {
  7.     16173668037485684038ULL, 7308890794698949898ULL, 2338042688813233010ULL,
  8.     7953673792133161325ULL,  7957697952983703908ULL, 7020021294383915380ULL,
  9.     8388345085395559968ULL,  2336357893517150944ULL, 7022632938117231988ULL,
  10.     8029476583442965618ULL,  7955925836843869539ULL, 6998716392763911456ULL,
  11.     8389754649437105260ULL,  7306563048253172837ULL, 4975035528973085036ULL,
  12.     8241996832036757543ULL,  7597125497112633445ULL, 7017206789396456224ULL,
  13.     7020021556359815789ULL,  8388345085395559968ULL, 7163375865070365920ULL,
  14.     7810726137690092649ULL,  2829679900014240617ULL, 7166200500682913056ULL,
  15.     8079573610264489577ULL,  2840680840016262505ULL, 7306000098456068961ULL,
  16.     2334392332908372076ULL,  8319100070891186275ULL, 2334386756816019553ULL,
  17.     7020021272197882230ULL,  7019255188182102048ULL, 7305809603502564128ULL,
  18.     8387225759808578670ULL,  7310503715107008370ULL, 2333264967394223214ULL,
  19.     16173668037485684070ULL, 7017279338687448330ULL, 7020021539246535539ULL,
  20.     7309377815054740512ULL,  8079569273437429874ULL, 2333264967394222945ULL,
  21.     16173668037485684070ULL, 7594029310955364396ULL, 7596558022957785204ULL,
  22.     2316896446323124579ULL,  7521965106907868789ULL, 2335507972072039785ULL,
  23.     7957688057546566006ULL,  7597116755628946720ULL, 7358988908147535726ULL,
  24.     783754331150707813ULL,   7594040258939856709ULL, 2336934038720508513ULL,
  25.     8391443509162764642ULL,  8030609103051300975ULL, 8319100015057068320ULL,
  26.     7020021294384313445ULL,  8388345085395559968ULL, 7953747406661946080ULL,
  27.     7214873394816377204ULL,  2335507212142667125ULL, 7863407495247656305ULL,
  28.     3200198280255381609ULL,  7596558160771509280ULL, 7306562822571583843ULL,
  29.     723637480735336812ULL,   7308814882565940563ULL, 2333262021931789420ULL,
  30.     783742226817099619ULL,   8247343740048400716ULL, 7957713681085833313ULL,
  31.     8245929706778796133ULL,  7022836288845979749ULL, 7959303536447013642ULL,
  32.     8243110637465858080ULL,  7021991863915847791ULL, 7596558160772023306ULL,
  33.     7301190462729382243ULL,  7812730977245557870ULL, 2838147792926564647ULL,
  34.     7950272676149797096ULL,  2337202624465564192ULL, 2334391207790143844ULL,
  35.     7236265779660417392ULL,  7022836288845979759ULL, 7959303536447013642ULL,
  36.     8030878500798821152ULL,  748005596097700640ULL,  7163375865070381380ULL,
  37.     7810726137690092649ULL,  2829679900014240617ULL, 8243121275882337568ULL,
  38.     8102661219848101985ULL,  7020021294149363058ULL, 7161040485332904992ULL,
  39.     7791338545099269475ULL,  2337202611481092193ULL, 4974895898361686115ULL,
  40.     7451594949892841511ULL,  7214889149007227244ULL, 2335523730340798759ULL,
  41.     7594230534619097456ULL,  2318343848406115104ULL, 7163375865070379372ULL,
  42.     8439788879181018217ULL,  7378422747512201582ULL, 8029390788584631919ULL,
  43.     8391443539344564334ULL,  2333264967393965153ULL, 16173668037485684070ULL,
  44.     7594029310955364396ULL,  7596558022957785204ULL, 2316896446323124579ULL,
  45.     7019265134000434805ULL,  2335507972004341607ULL, 7791276169608064878ULL,
  46.     7521891405307735847ULL,  3199091144926437477ULL, 7596558160771509280ULL,
  47.     2316896446323124579ULL,  8029462306970758773ULL, 8031434501394887456ULL,
  48.     7020660372644324722ULL,  7310027660747826208ULL, 7810761418003456044ULL,
  49.     2829679900014240617ULL,  7022365698004574496ULL, 8247605114544612722ULL,
  50.     2338042688812708463ULL,  7953674079845900646ULL, 7020021294149300067ULL,
  51.     8388345085395559968ULL,  7163375865070365920ULL, 2314885530461959273ULL
  52. };
  53.  
  54. int main() {
  55.     int i, j, dim_ull = sizeof( unsigned long long );
  56.  
  57.     setlocale( LC_ALL, "Italian_Italy.1252" );
  58.  
  59.     for( i=0; i<Q_PIXEL; ++i )
  60.         for( j=0; j<dim_ull; ++j )
  61.             putchar( *(((char*)(kPixel+i))+j) );
  62.  
  63.     return 0;
  64. }


Ultima modifica effettuata da AldoBaldo il 12/11/2019 alle 23:15


Ma cosa vuoi che ne sappia? Io ci gioco, col codice, mica ci lavoro!
PM
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1968
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:49
Mercoledì, 13/11/2019
Dico o parlo in una lingua diversa dalla tua?

Sei stato già avvisato nel topic precedente.
Al prossimo scatta il ban.

@AldoBaldo so che cerchi di aiutare ma questa persona se ancora non hai capito, ci prende per i fondelli.


Questo topic è in violazione di una o più norme del regolamento: http://www.pierotofy.it/pages/extras/forum/9/3839-regolame ... .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.

Ultima modifica effettuata da Thejuster il 13/11/2019 alle 9:04


PM