Como converter Imagens para Arquivos de texto?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como converter Imagens para Arquivos de texto?

Mensagem por JV Justino em Sex 06 Maio 2011, 13:31

Conteúdo Removido pelo Autor.


Última edição por JV Justino em Dom 19 Fev 2012, 18:48, editado 3 vez(es)

JV Justino

Ranking : Nota A
Número de Mensagens : 619
Idade : 19
Data de inscrição : 07/12/2010
Notas recebidas : A+A
Reputação : 20
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como converter Imagens para Arquivos de texto?

Mensagem por Jiraya em Sex 06 Maio 2011, 14:08

claro!
existe a maneira simples que é
sprite_save
background_save

e salvar com ASCII
Create Event
Código:

var _spr,_xoff,_yoff;
_spr=NOME_DA_SPRITE;

file_open_write("sprite.txt");
file_write_string(string(sprite_get_width(_spr)));
file_writeln();
file_write_string(string(sprite_get_height(_spr)));
file_writeln();
_xoff=sprite_get_xoffset(_spr);
_yoff=sprite_get_yoffset(_spr);
sprite_set_offset(_spr,0,0);
draw_sprite(_spr,0,0,0);
sprite_set_offset(_spr,_xoff,_yoff);

for (w=0;w<sprite_get_width(_spr);w+=1;)
for (h=0;h<sprite_get_width(_spr);h+=1;)
{
file_write_string(draw_getpixel(w,h));
file_writeln();
};
file_close();

e para carregar
Código:

var _surf;
file_open_read("sprite.txt");

W=real(file_read_string());
file_readln();
H=real(file_read_string());
file_readln();
_surf=surface_create(W,H);

surface_set_target(_surf);
for (w=0;w<W;w+=1;)
for (h=0;h<H;h+=1;)
{
draw_point_color(w,h,real(file_read_string()));
file_readln();
};
surface_reset_target();
file_close();
sprite_index=sprite_create_from_surface(_surf,surface_get_width(_surf),surface_get_height(_surf)0,0,0,0);
surface_free(_surf);

pronto, isso fara mudar a sprite do objeto, para a sprite que o arquivo de texto estava armazenando.



Última edição por Jiraya em Sex 06 Maio 2011, 15:37, editado 1 vez(es)

Jiraya

Ranking : Nota A
Número de Mensagens : 1134
Data de inscrição : 20/03/2010
Notas recebidas : A+A
Reputação : 108
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Re: Como converter Imagens para Arquivos de texto?

Mensagem por JV Justino em Sex 06 Maio 2011, 16:28

Seu código para carregar não deu certo por 2 motivos:
1- draw_pixel_color(w,h,real(file_read_string()));
Esta função não existe

2- sprite_index=sprite_create_from_surface(surface_get_width(_surf),surface_get_height(_surf));
Estão faltando muitos argumentos na função.

Fora isso acho que está tudo certo Razz

-Edit-
Consegui resolver!
Na verdade, aquela função se chama draw_point_color
E eu coloquei todos os argumentos necessários na função, e deu tudo certo

Jiraya, você é o cara! Cool

Resolvido!

-Edit 2-
Bom, eu consegui entender os códigos, mas não sei como fazer para adaptar o canal alfa a ele. Como fazer?

JV Justino

Ranking : Nota A
Número de Mensagens : 619
Idade : 19
Data de inscrição : 07/12/2010
Notas recebidas : A+A
Reputação : 20
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como converter Imagens para Arquivos de texto?

Mensagem por Jiraya em Sex 06 Maio 2011, 17:25

na hora de carregar faça o seguinte
Código:

var _surf;
file_open_read("sprite.txt");

W=real(file_read_string());
file_readln();
H=real(file_read_string());
file_readln();
_surf=surface_create(W,H);

_bgc=draw_getpixel(0,H);
surface_set_target(_surf);
for (w=0;w<W;w+=1;)
for (h=0;h<H;h+=1;)
{
_c=real(file_read_string());
if (_c!=_bgc)
draw_point_color(w,h,_c);
file_readln();
};
surface_reset_target();
file_close();
sprite_index=sprite_create_from_surface(_surf,surface_get_width(_surf),surface_get_height(_surf)0,0,0,0);
surface_free(_surf);

Jiraya

Ranking : Nota A
Número de Mensagens : 1134
Data de inscrição : 20/03/2010
Notas recebidas : A+A
Reputação : 108
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Re: Como converter Imagens para Arquivos de texto?

Mensagem por JV Justino em Sex 06 Maio 2011, 18:12

Esse código não deu certo Sad
Ele só desenhou mais pixels nos lugares errados.

O quê eu gostaria de saber é se da pra registrar a opacidade de cada pixel depois lêr, pois se somente salvar a sprite transparente na hora de carregar ela fica meio mesclada com preto.

JV Justino

Ranking : Nota A
Número de Mensagens : 619
Idade : 19
Data de inscrição : 07/12/2010
Notas recebidas : A+A
Reputação : 20
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como converter Imagens para Arquivos de texto?

Mensagem por Alex FC em Sex 06 Maio 2011, 18:35


Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como converter Imagens para Arquivos de texto?

Mensagem por JV Justino em Sex 06 Maio 2011, 19:39

Alex FC escreveu:Será que este meu programa pode ajudar?

http://gmbr.forumeiros.com/t13214-image-to-gml-v10-agora-com-suporte-a-animacao

FLWS!

Olha, pelo que eu entendi, esse programa transforma a imagem em GMl, e não é isso o que eu quero. Eu quero que o GM leia um arquivo .txt e faça o desenho. E além disso, os códigos ficariam imensos Razz

Os códigos do Jiraya funcionaram perfeitamente. O que eu quero saber agora é com implementar o canal alfa neles

Mesmo assim obrigado pela ajuda!

JV Justino

Ranking : Nota A
Número de Mensagens : 619
Idade : 19
Data de inscrição : 07/12/2010
Notas recebidas : A+A
Reputação : 20
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como converter Imagens para Arquivos de texto?

Mensagem por Conteúdo patrocinado Hoje à(s) 06:33


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum