Ciao ragazzi, scusate per il titolo ma è il meglio che sono riuscito a definire comunque questi sono i quesiti.
Prendendo spunto da un codice fornitomi da MItaly precedentemente che gestisce le dibsection per rilevare i valori RGB dei pixel dello schermo senza usare la GetPixel() mi chiedevo come fare il contrario (ovviamente no con SetPixel). Esempio di codice:

codice:
#include <string.h>
#include <sstream> //Per stampare le variabili sui box
#include <string>  //Per stampare le variabili sui box
#include <stdlib.h> //Random
#include <time.h> //Time to random funzion
#include <windows.h>
#include <stdio.h>   
#include <stdexcept> //To create DIBs

#include <cstdlib> //To enable writing on a file
#include <fstream> //To enable writing on a file
using namespace std;
int main()

{const char * riga1delfile;
 

BYTE Rvalue;
BYTE Gvalue;
BYTE Bvalue;


    
HDC hdc = GetDC(0);

string line;
string s;
stringstream out;
  ifstream file ("C:\\Users\\Niko\\Desktop\\sorgente.txt");

{
        
  if (file.is_open())
  {
    while (! file.eof() )
    {
      getline (file,line);
      
    }
    file.close();
   
  }
  
 riga1delfile = line.c_str(); 


for(int height=1;height<=100;height++)
for(int weight=0;weight<100*9;weight+=9){

//if(*(riga1delfile+weight)=='a'){}
 {
 Rvalue=(*(riga1delfile+weight*height))*100 /*QUI*/ +(*(riga1delfile+weight+1*height))*10+(*(riga1delfile+weight+2*height)); 
 Gvalue=(*(riga1delfile+weight+3*height))*100+(*(riga1delfile+weight+4*height))*10+(*(riga1delfile+weight+5*height));
 Bvalue=(*(riga1delfile+weight+6*height))*100+(*(riga1delfile+weight+7*height))*10+(*(riga1delfile+weight+8*height));                               
 }

SetPixel(hdc,weight/9,height,RGB(Rvalue,Gvalue,Bvalue));

 
}
}


    return 0;
}
Ora spiego il codice poichè maca anche una parte:
con un altro sorgente ho creato un eseguibile che cattura i valori RGB dei pixel dello schermo e li salva in sorgente.txt. Per esempio si potrà trovare 010232134023000123
significa: pixel
coordinate 1.1= Red=10, Green=232, Blue 134,
coordinate 2.1= Red=230, Green=0, Blue=123


questo programma copia il contenuto del file nella variabile line, essa viene poi convertita a const char* riga1delfile.
Infine analizza i vari caratteri di riga1delfile.
Qui però arriva l'intoppo (vedi codice dove è scritto come commento QUI) infatti il programma dovrebbe moltiplicare 100 al primo alla prima cifra del valore Red del Pixel 1.1 ma trova un cost *char e non int, per cui 0*100 non risulta 0 ma 'Ð'.

Pertanto i problemi in questo codice sono:
1) conversione const *char a int convertendo (secondo me se si usa il cast teoricamente doverbbero risulatare problemi di conversione ma potrei sbagliarmi),
2) invece di usare la SetPixel dovrei proiettare i pixel in una dibsection e poi trasferirla su una finestra in modo da vedere lo screen.


PS analizzando meglio il codice voglio fare una revisione: il problema è la convesrsione tra BYTE e int poichè l'operazione 0 * 100 dove 0 è tipo BYTE non riusta 0, inoltre la macro RGB richiede un tipo byte non int: sono incasinato!!!
Ragazzi aiutatemi perfavore.