Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Acer TravelMate P4 14: tanta sostanza per l'utente aziendale
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale
Forte di soluzioni tecniche specifiche, il notebook Acer TravelMate P4 14 abbina dimensioni compatte e buona robustezza per rispondere alle necessità specifiche degli utenti aziendali. La piattaforma AMD Ryzen 7 Pro assicura prestazioni elevate con i tipici ambiti di produttività personale e sul lavoro, mantenendo un'elevata autonomia.
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque
Dal salotto al giardino, il nuovo proiettore laser di Hisense promette esperienze cinematografiche in qualsiasi contesto: qualità d’immagine, semplicità d’uso, versatilità e prezzo competitivo il suo poker d'assi
Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe
Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe
La flessibilità di configurazione è il punto di forza di questo 2-in-1, che ripropone in un form factor alternativo tutta la tipica qualità dei prodotti Lenovo della famiglia ThinkPad. Qualità costruttiva ai vertici, ottima dotazione hardware ma costo che si presenta molto elevato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-06-2017, 07:46   #1
carlo.29
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 21
Programmino da creare con Processing!Bloccato

Ciao a tutti,
devo scrivere un programmino con processing ma mi sta facendo diventare matto.Mi blocco in un punto.

Il testo chiede di caricare un immagine da disco e creare un programma che abbia 2 modalità : mostra e modifica.In seguito alla pressione del tasto "m",il programma deve entrare in modalità "mostra" e visualizzare semplicemente l'immagine caricata (e sono riuscito a farlo).Premendo per la seconda volta il tasto "m",il programma entra in modalità "modifica".Deve suddividere l'immagine in 2 bande verticali.La divisione parte dal pixel mouseX-5,Y (Y,di logica, sarà uguale a quella del mouse,mouseY).
La funzione creaImmagine() avrà una variabile locale color c che leggerà il pixel in esame e lo trasferirà in due funzioni,bandadestra() e bandasinistra(),che riceveranno entrambe in input una variabile locale color,estrarranno le tonalità RGB del pixel in esame, e le altereranno in due modi diversi.Uno da applicare alla banda destra e l'altro alla banda sinistra.Quindi,restituiranno entrambe i colori modificati,che verranno richiamati in creaimmagine().Alla banda sinistra verrà applicato il colore modificato da bandasinistra(),alla banda destra il colore di bandadestra().
Successivamente,bisognerà richiamare creaImmagine() nella funzione predefinita draw(),che riceverà l'immagine,precedentemente caricata da disco, modificata da creaimmagine() e si comporterà nei modi elencati sopra alla pressione del tasto "m".
L'effetto da creare è ovviamente che, al movimento infinito del mouse,l'immagine sarà sempre divisa in 2 bande verticali colorate in base a qual'è il pixel mouseX-5,che cambia in continuazione, e le bande possono ovviamente restringersi e allargarsi.per esempio se sposto il mouse verso sinistra,sarà più grande quella di destra e viceversa.

Ho creato tutto il codice riguardante il caricamento dell'immagine da disco,setup,draw e le due funzioni bandasinistra() e bandadestra().
Mi blocco nella funzione creaimmagine().Non riesco a dividere l'immagine in due e colorare.Suppongo si possa fare con dei cicli FOR nidificati,che controllino le coordinate di x e di y di entrambe le bande.Però non ci capisco più nulla.Non capisco se tutto dipende da una sola x e y,del punto in esame,o le bande abbiano entrambe le loro coordinate.Non capisco nemmeno come richiamare le due funzioni e colorare due intere bande in base al movimento del mouse.
Per ora,dopo giorni di tentativi,visualizzo una sola banda,e non a colore fisso.Sposto il mouse e lampeggia di continuo.
Se inserisco le coordinate per la seconda banda,il programma non restituisce errore ma non visualizzo più nulla.

Potete darmi una mano con i cicli?

P.S. Il testo dell'esercizio dice che addirittura si potrebbero colorare le due bande attraverso una sola funzione,che applichi ad ogni banda la sua alterazione di colore ma non ho capito come si fa.Quindi ho creato due funzioni separate.
carlo.29 è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2017, 13:02   #2
carlo.29
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 21
Non volevo allargare troppo il post precedente.
Escludendo la procedura per caricare l'immagine da disco,che mi funziona,inserisco le due funzioni e i cicli che sto provando a fare e non funzionano.Ci deve essere un casino enorme con le variabili e le coordinate.
Impostato così,mi colora solo la parte a sinistra del mouse ma il colore non è fisso.Lampeggia durante lo spostamento.A destra non colora nulla.
Come vedete,ho disattivato dei comandi.Se li attivo,non funziona nulla nemmeno a sinistra.

Codice :



PImage img,img1;


void setup()
{
surface.setResizable(true);
img= getImage();
surface.setSize(img.width, img.height);

image(img,0,0);

}


void draw()
{
if (key=='m')
{
noStroke();
image(img,0,0);
}
else if (key=='g')
{

img1=creaimmagine(img);
noStroke();
image(img1,0,0);

}

}


PImage creaimmagine(PImage img1)


{
int x0;int y0;int x1;int y1;int n_x=img.width;int n_y=img.height;
color c,csx,cdx;
c=img1.get(mouseX-5,mouseY);

for(x0=0;x0<=mouseX-5;x0=x0+1)
{
for(y0=0;y0<=mouseX-5+n_y-1;y0=y0+1)
{
//for(x1=mouseX-4;x1>n_x-mouseX-5;x1=x1+1)
//{
//for(y1=0;y1>=mouseX-4+n_y-1;y1=y1+1)
//{
c=img1.get(mouseX-5,mouseY);
csx=calcolapixelsx(c);
//cdx=calcolapixeldx(c);
img1.set(x0,y0,csx);
//img1.set(x1,y1,cdx);
//}
//}
}
}
return img1;
}

color calcolapixelsx(color csx)
{
float r,g,b;

r=red(csx);
g=green(csx);
b=blue(csx);


if(((r*1.5)+10.0)>255.0)
{
r=255.0;
}
else
{
r=(r*1.5)+10.0;
}

if(((g*1.3)+20.0)>255.0)
{
g=255.0;
}
else
{
g=(g*1.3)+20.0;
}

if((b+50.0)>255.0)
{
b=255.0;
}
else
{
b=b+50.0;
}


csx=color(r,g,b);

return csx;
}




color calcolapixeldx(color cdx)
{
float r,g,b;
float d;
d=sqrt(((mouseX-mouseX-5)*(mouseX-mouseX-5))+((mouseY-mouseY)*(mouseY-mouseY)));

r=red(cdx);
g=green(cdx);
b=blue(cdx);

if((r-d)>255.0)
{
r=255.0;
}
else
{
r=r-d;
}

if((g-d)>255.0)
{
g=255.0;
}
else
{
g=g-d;
}

if((b-d)>255.0)
{
b=255.0;
}
else
{
b=b-d;
}



cdx=color(r,g,b);

return cdx;
}
carlo.29 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il c...
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
Hexagon strizza l'occhio ai sim racer e ...
Sennheiser HD 660S2 in offerta: le cuffi...
Broadcom impedirebbe di scaricare le pat...
Amazfit GTR 3 crolla a 69€: ma è solo l’...
Wyoming, un datacenter AI potrebbe consu...
Ancora più giù i prezzi de...
TIM aumenta i prezzi delle offerte mobil...
Apple aggiorna tutto: iOS 18.6, macOS Se...
YouTube saprà quanti anni hai, an...
Meta AI su WhatsApp: l'Antitrust apre un...
Tantissima sostanza, batteria da 7000mAh...
Legge sui social in Australia: YouTube i...
100€ di sconto reale, solo 399€ per la P...
Oggi i Macbook Air da 13 pollici con chi...
Meta ruba il futuro dell'AI ad Apple: fu...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v