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: 533
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.

PM
Avatar
AldoBaldo (Member)
Expert


Messaggi: 533
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
PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 1999
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