Italian community of Lazarus and Free Pascal

Programmazione => Graphics => Topic aperto da: sergio - Aprile 28, 2012, 07:00:49 pm

Titolo: modificare colore di sfondo immagine in trasparente
Inserito da: sergio - Aprile 28, 2012, 07:00:49 pm
Saluti a tutti! Ho un problema, vorrei far muovere un immagine su uno sfondo , ma la mia immagine ha un colore di sfondo che vorrei trasformare in trasparente. Qualcuno sa se esiste un package o  qualche sistema per fare cio' . Grazie
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 28, 2012, 08:09:16 pm
Ciao Sergio,
 detta così è abbastanza generica.
Che classe usi per l'immagine?
Nella computer grafica ci sono molti trucchetti che si possono usare. Non credo che si debba arrivare a quello del bucare lo sfondo per metterci la tua immagine ... (la usavo con il turbo pascal 5.5, visto che non avevo altro modo ;) )
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 28, 2012, 08:21:50 pm
La butto lì come soluzione ...
Premessa : Usi un TBITMAP ;)

Codice: [Seleziona]
Var bmp : TBitmap
Begin
  Bmp := TBitmap.Create;
  Bmp.TransparentColor := ilColoreCheHoDecisoDiUsareComeSfondoECiHoPresoGustoAScrivereSenzaSpaziPerFortunaUsoIlCamelCaseAltrimentiNonSiCapirebbeNulla.
  Bmp.Transparent := True;
  ....
 
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: sergio - Aprile 29, 2012, 12:46:16 pm
CIao , grazie per la risposta , io usavo Timage. Provero' come hai detto tu, ma devo trovare Tbitmap , non lo trovo . Devo crearlo io ? ciao
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 29, 2012, 12:49:11 pm
TImage è un componente "Wrapper" a vari formati.
TBitmap è una classe.
Prova il pezzo di codice che ho postato.
Basta che Graphics sia in lista delle uses. ;=)
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: sergio - Aprile 29, 2012, 12:56:23 pm
Grazie , oggi ci provo e poi ti faccio sapere . Comunque ho trovato sul sito di Lazarus un programma , LazPaint che mi trasforma gli sfondi in trasparenza da potere usare con Timage. Il tuo sistema , comunque mi sembra migiore! Grazie , ti faccio sapere !
 
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 29, 2012, 01:01:58 pm
TLazPaint è buono ;)
Ma usa altre cosine... un pelo più avanzate di quello che chiedi tu ;)
Eventualmente anche TImage ha la trasparenza :D
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: sergio - Aprile 29, 2012, 01:11:06 pm
Si , timage ha la rasparenza , ma puoi solo modificare tutta l'immagine . A me serviva rendere trasparente solo lo sfondo.Ti spiego , vorrei creare per mio figlio un mini videogioco. Così intendevo mettere suuno sfondo stellato delle astronavi che si potessero muovere con il mouse, sparare e cosi' via .Pensavo di utilizzare immagini , ma avevo dei problemi di trasparenza dello sfondo. Ora provo come hai detto tu , e devo riuscire a creare immagini che si muovono da sole sullo sfondo e che in caso di collisione con altre facciano (qualche cosa)..Io no sono molto afferrato di grafica ,mi occupo sempre di gestionali , ma voglio provarci ! Grazie
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 29, 2012, 06:24:47 pm
Allora,
 visto che è per tuo figlio ;) ti aiuto ancora più volentieri.
Problemi che devi affrontare.
1) Gestione degli Sprite.
2) Gestione delle collisioni.
3) Eventuale intelligenza artificiale.
4) Gestione "particelle".
(DelphiArea non è disponibile, per cui molti pezzi non so dove suggerirti di trovarli :( )

Gli spirte sono i tuoi "mattoncini" grafici. Gestiscono i "pezzi" in movimento sullo schermo. Esempio pratico... le astroniavi. Hai tutte le immagini con le "rotazioni" (non serve averne 360, visto che siamo in un ambito discreto).
In questo modo il tuo motore "home made" deve solo dire allo spirte... spostati, arrotati (Aldo docet), disegnati.

Collisioni ... bè si tratta di controllare se un rettangolo è dentro un'altro.... nome difficile per un algoritmo abbastanza semplice nell'idea.

Intelligenza artificiale ... forse serve, ma se le atronavi "nemiche" stanno ferme ... dopo 5 minuti diventa una palla come gioco. Se non vuoi perdere tempo con algoritmi incasinatissimi, ti consigli l'uso di un motore di scripting come Lua ... Freepascal ha già il porting.

La gestione delle particelle, non è altro che una gestione degli sprite semplificata.
Le particelle sono i proiettili delle astronavi ... per intenderci.

Se dici, possiamo fare il progetto assieme, come progetto comunitario ;)

Stilgar
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: nomorelogic - Aprile 30, 2012, 08:38:46 am
ciao scusate l'intrusione
io aggiungerei:
5) scrolling dello sfondo

e volevo soprattutto dirvi se avevate fatto caso alla cartella lazarus/examples/sprites ? ;)

bella l'idea del progetto comunitario, io non sono esperto di videogame, lavoro da sempre con in gestionali ma la cosa mi incuriosice
poi... magari lo si manda qua
http://lazarusbrasil.org/contest.php (http://lazarusbrasil.org/contest.php) :)
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: nomorelogic - Aprile 30, 2012, 09:15:10 am
caspita invece di lavorare sto googlando in giro

date un'occhiata a questa pagina
http://www.pascalgameengine.com/wiki/doku.php?id=application_events (http://www.pascalgameengine.com/wiki/doku.php?id=application_events)
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 30, 2012, 09:17:10 am
Certo che se la metti sul piano della competizione internazionale.... mmmm qui scatta l'orgoglio nazionale.
A parte gli scherzi.
Qui si tratta di pianificare bene le cose.
1) Genere : PlatForm, Avventura, Arcade ... (impatta decisamente sulle scelte dei motori grafici da usare )
2) Lo storyboard :è importante per non fare minchiate, ma cose interessanti (non ne ho mai fatto uno, per cui ... non so da dove cominciare )
Per iniziare
OT:
@nomore, ho mandato a cagare il crucco, mi stava smenando inutilmente
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 30, 2012, 09:18:52 am
Oggi in ufficio siamo in quattro.
Sono quello che sembra più impegnato nel lavoro.
Gli altri stanno sonnecchiando o parlano di quello che faranno domani ...
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: nomorelogic - Aprile 30, 2012, 09:29:14 am
Qui si tratta di pianificare bene le cose.
1) Genere : PlatForm, Avventura, Arcade ... (impatta decisamente sulle scelte dei motori grafici da usare )

sempre ragionando in tempa di competizione internazionale, orgoglio nazionale e primo sviluppo...
direi un genere semplice e completabile in tempi ragionevoli: scarterei avventura in quanto ci vuole molto tempo solo per studiare la storia (felicissimo di essere smentito, la mia competenza al riaguardo è <= 0 :D)

l'idea delle astronavi non mi pare male
ma anche un platform... non mi dispiacerebbe


2) Lo storyboard :è importante per non fare minchiate, ma cose interessanti (non ne ho mai fatto uno, per cui ... non so da dove cominciare )

vabbè magari la minchiata ci scappa comunque, bisogna sapercelo :D


a proposito... stiamo parlando sul serio?

Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 30, 2012, 09:37:02 am
Io sì.
Se poi con Legolas riusciamo anche a portarlo sulla NDS .. credo che gli altri abbiano poche speranze di vincere :D
Sono un giocatore di ruolo, tutte le sfide sono mie ;)

Altra cosa da vedere, che spesso si lascia in secondo piano ... i suoni e la musica.
(Stavo controllando i progetti open per Freepascal ;) )
Per NDS c'è già MaxMod.
Vediamo se si riesce a prendere qualche modulo sonoro e farlo suonare anche su Linux, Windows, se Stefano Carelli ci supporta con l'hw, magari anche su Mac.
Non conosco nessuno con un AIX a portata di mano per il porting ...

Il parallasse (Punto 5) mi piacerebbe metterlo in piedi.
I platform introducono i motori solidi ... (Newton per esempio). Vorrei rimanere sull'easy ;)
Presente Xenon 2?
Si potrebbe riproporre un clone open. (Ora come ora ... esiste Xenon2000 - Project PCF, scaricabile gratuitamente dal sito della Bitmap Brother).
La grafica, si potrebbe riproporre un sistema di immagini alla PIXEART. Niente fotorealismo ;)
Giochino style "Casual Gamer".
Sono anche più semplici da realizzare e non hanno una trama (anche Mario Bross ha una strama), molto complessa ;)

Ora si tratta di calcolare le mani che si rendono disponibili ;)

Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: nomorelogic - Aprile 30, 2012, 09:53:17 am
rimanere sul facile, nel caso, mi pare imperativo ;)
guardando i videogame proposti sul sito non mi pare siano molto advanced, forse non facciamo una figuraccia

a proposito...
per i rompicapo non occorre una trama :D
oppure qualcosa tipo world of goo o lemmings, ma originale (se ce la si fa)

per le mani disponibili, il mio problema è che non riesco di sicuro ad assicurare costanza...
però penso sia un problema di tutti ed è anche vero che, se siamo qualcuno in più, tra quì e settembre/ottobre qualcosa si riesce a fare (spero)
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 30, 2012, 10:52:15 am
Ci sono vincoli?
Se facciamo qualche cosa che "spacca" le regole.... abbiamo lavorato per niente ;)
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: nomorelogic - Aprile 30, 2012, 10:57:32 am
parli del regolamento per candidare il gioco?

ho trovato solo questo:
Citazione
Don't forget to send all packages required to open your project. Multi-platform code takes precedence over single-platform ones.
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Aprile 30, 2012, 11:00:00 am
Sì.
Ho aperto un thread apposito per il contest ;)
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: nomorelogic - Aprile 30, 2012, 11:08:49 am
ho visto
vediamo che ne esce fuori, sarebbe bello sul serio arrivare alla fine
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: sergio - Aprile 30, 2012, 11:52:30 pm
Salve ragazzi , ma dite sul serio? Sapete , io ero solo interessato a fare un piccolo giochino per mio figlio , ma sono contento se ho fatto partire una programmazione di un gioco ! Non sono molto afferrato con la grafica , trattando sempre gestionali , ma se posso aiutarvi lo faccio volentieri. Ho trovato che c'è un motore di grafica chiamato castle_game_engine che lavora in Lazarus. Vedo cosa fa' e poi vi dico !
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: zinic - Maggio 15, 2012, 09:20:56 pm
Salve ho letto della vostra idea di sviluppare un gioco, mi farebbe piacere potervi dare una mano. Non sono molto esperto, utilizzo Lazarus da autodidatta, ma l'idea mi piace molto. Vorrei sapere se state facendo già qualcosa e come potrei esservi d'aiuto, grazie.
 
Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: Stilgar - Maggio 15, 2012, 09:24:52 pm
Ciao zinic, al momento siamo ancora in fase d'esplorazione su cosa (e come ...) si può fare nel gioco.
Non stiamo andando avanti in modo organico ed omogeneo, al momento se hai un'idea la provi e cerchi di integrarla alla meglio nel progetto che stiamo usando come pilota.

Appena abbiamo le idee chiare, inizieremo a fare sul serio ;)


Titolo: Re:modificare colore di sfondo immagine in trasparente
Inserito da: nomorelogic - Maggio 15, 2012, 10:34:00 pm
nello specifico stiamo cercando di vedere le potenzialità di ZenGL, se vuoi vedere dove siamo arrivati puoi trovare un accrocchio di sorgenti su svn@sourceforge (a proposito se usi linux fammi sapere che posto una serie di librerie che servono per compilare)
come dice Stilgar ogni nuova e buona idea è sicuramente la benvenuta