Ir para o conteúdo
thinkabout

Imprimir uma imagem em ascii

Mensagens Recomendadas

thinkabout

Imprimir uma imagem em ascii

Boas como consigo imprimir uma imagem direitinha em c (ascii).

Já a converti e no notepad++ ela aprece direitinha, se abrir com o notepad ou se a mandar imprimir em s , aparece toda transformada.

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<stdlib.h>


int main (/*int argc, char * argv[]*/)
{

char linha [160]; // Onde vou por a linha que quero imprimir
FILE *original;

if ( (original=fopen("apresentacao.txt","r"))== NULL )
               {
                       printf("Erro de abertura do ficheiro\n");
                       exit(1);
               }

	while (fgets(linha, sizeof linha, original) != NULL)
			{  
				printf("%s", linha);
			}

               fclose(original);
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

Mostra um exemplo do input e do output que dá, sff.

Já agora, tens o ficheiro gravado em ANSI?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thinkabout

No notepad++ fica bem mas é se fizer bué zoom out (reparei agora), em tamanho normal não fica grande pistola mas no notepad fica pior.

Recomendas algum conversor ?

E sim a pouco estava em ANSI.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Se o teu texto tiver uma linha com 20 'm' e outra com 20 'i', essa linhas devem ter o mesmo comprimento?

mmmmmmmmmmmmmmmmmmmm

iiiiiiiiiiiiiiiiiiii

mmmmmmmmmmmmmmmmmmmm
iiiiiiiiiiiiiiiiiiii


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thinkabout

Se eu gravar em ansi ele faz-me isso ?

Já fiz uma brincadeira com isto http://www.asciiflow.com/ e está a bombar.

Mas queria era converter um logotipo e depois que ficasse decente.

Existe forma de eu centrar a imagem no meio do ecrã ?

Editado por thinkabout

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

Se eu gravar em ansi ele faz-me isso ?

Não, mas evita problemas

Já fiz uma brincadeira com isto http://www.asciiflow.com/ e está a bombar.

ok.

Mas queria era converter um logotipo e depois que ficasse decente.

Não sei o que é o ser decente.

Existe forma de eu centrar a imagem no meio do ecrã ?

Isso é bastante complicado porque precisas de arranjar maneira de saber o tamanho da consola e eu não sei como fazer isso. Nem sei se há alguma maneira de confiança de o fazer


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

http://stackoverflow.com/questions/1022957/getting-terminal-width-in-c

// <------------ NCURSES !!! ---------------->
#include <ncurses.h>
#include <string.h>
#include <signal.h>

// SIGWINCH is called when the window is resized.
void handle_winch(int sig){
 signal(SIGWINCH, SIG_IGN);

 // Reinitialize the window to update data structures.
 endwin();
 initscr();
 refresh();
 clear();

 char tmp[128];
 sprintf(tmp, "%dx%d", COLS, LINES);

 // Approximate the center
 int x = COLS / 2 - strlen(tmp) / 2;
 int y = LINES / 2 - 1;

 mvaddstr(y, x, tmp);
 refresh();

 signal(SIGWINCH, handle_winch);
}

int main(int argc, char *argv[]){
 initscr();
 // COLS/LINES are now set

 signal(SIGWINCH, handle_winch);

 while(getch() != 27){
   /* Nada */
 }

 endwin();

 return(0);
}

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

ok ... não deves ter percebido bem o que é isso da norma : http://en.wikipedia.org/wiki/ANSI_C#C89_and_C90

não interessa se o ncurses é C89/90, C99 ou C11. está compilado e nem vais saber qual foi usado.

o que interessa é o "teu" código que tem de ser compilado com a flag --std-c89 sem erros e/ou avisos


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thinkabout

Humm, agora só tenho que por o visual studio a papar isso.

Ando para aqui a ler mas é só para Linux, para windows ainda não encontrei nada muito claro.

Editado por thinkabout

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.