Linha ou elipse em linguagem C?

1. Linha ou elipse em linguagem C?

raul mendes
zenithx

(usa Linux Mint)

Enviado em 02/06/2016 - 18:13h

Olá, pessoal

Como posso "desenhar" uma linha ou elipse em linguagem C?
Eu uso Linux Mint 17.3 com kde/mate. tenho instalado o geany e codeblocks.
O compilador aqui é o gcc e o g++.

Os programas de exemplo que estou usando, compilam sem erro no geany e codeblocks.



  


2. Re: Linha ou elipse em linguagem C?

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/06/2016 - 23:17h

Procure por algum conjunto gráfico como SDL ou GTK+.
A última vez que desenhei uma elipse foi em TCL/TK.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Linha ou elipse em linguagem C?

Matth
MattF

(usa Slackware)

Enviado em 03/06/2016 - 00:56h

Se você ficar satisfeito com uma linha ou elipse em modo texto (ASCII art) procure por bibliotecas como libcaca, que já possui as funções implementadas para desenhar figuras geométricas simples em cores.


4. Re: Linha ou elipse em linguagem C?

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/06/2016 - 01:09h

E se fosse para, por exemplo, usar o framebuffer?

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: Linha ou elipse em linguagem C?

raul mendes
zenithx

(usa Linux Mint)

Enviado em 03/06/2016 - 01:10h

listeiro_037 ,MattF blz ae

Meu problema é o seguinte, eu até conheço(mas não domino) bibliotecas que fazem
o que quero. Tipo SDL OPENGL e ate ALLEGRO.
Problema é que são muito complexas.

Eu estou procurando algo mais simples tipo <graphics.h> do borland turbo c.

Ou canvas do html. algo como segue abaixo.

fillRect(x, y, width, height).

Procuro isso há dias mas parece que não existe isso pra linguagem C,não com a
facilidade que eu quero.

MattF ,esqueci de dizer que tinha que ser pixel e não caracteres ascii.


6. Re: Linha ou elipse em linguagem C?

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/06/2016 - 01:50h

Não é biblioteca, é arquivo de cabeçalho ou header.

Muitos deles não existem no C padrão.

Eu nunca testei, mas pode ser que se você usar um ambiente de DOS como o DOSEMU ou o DOSBOX talvez o Borland C faça isso aí no Linux.

Mas não seria no Linux de verdade. Seria emulado/simulado.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



7. Re: Linha ou elipse em linguagem C?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 03/06/2016 - 04:08h

A Borland Graphics Interface (BGI, que era o nome da biblioteca que trazia o header <graphics.h>) era uma biblioteca gráfica voltada especificamente para PCs com DOS, e a maioria dos drivers funcionava através de acesso direto à memória de vídeo ou através de chamadas à BIOS. Sistemas operacionais modernos, como UNIX ou WIndows, não permitem nem uma coisa nem a outra.

Você tem de decidir se quer fazer aplicações que rodem no ambiente gráfico ou fora dele. Se você quiser cercar os seus desenhos com uma interface gráfica com o usuário, será muito bom aprender a usar uma biblioteca nova, que lhe permita programar com interface gráfica. Como você usa KDE, a escolha natural para você é o Qt. Se você usasse outro ambiente gráfico, eu recomendaria o Qt de qualquer jeito, porque, na minha opinião, ele é muito mais bem projetado e MUITO mais bem documentado do que o GTK (além de outras vantagens, como ser mais portável, integrar melhor com o aspecto nativo de cada sistema etc.). Você pode ter uma ideia do modelo de desenhos do Qt em http://doc.qt.io/qt-5/graphicsview.html.

Se você não quiser usar GUI em seus programas, seria recomendável aprender SDL ou Allegro. A última possivelmente é melhor se você tiver o objetivo de desenvolver jogos, ao passo que SDL pode ser melhor se você tiver em mente uso mais geral. No entanto, aqui eu não posso falar com experiência própria, pois nunca usei nenhuma das duas; basicamente expressei o que eu li a respeito.

Vendo o artigo sobre BGI na Wikipedia (https://en.wikipedia.org/wiki/Borland_Graphics_Interface), há links para bibliotecas que reimplementam, com diferentes graus de completude, funcionalidades da BGI em outros sistemas. Ao que parece, a maioria mapeia as chamadas da BGI em chamadas de outras bibliotecas (por exemplo, a SDL ou a Xlib, no caso das alternativas para UNIX). Se você estiver com muita urgência, pode querer olhar uma dessas opções. Contudo, eu recomendaria a você aprender a usar alguma coisa mais do século 21.


8. Re: Linha ou elipse em linguagem C?

raul mendes
zenithx

(usa Linux Mint)

Enviado em 03/06/2016 - 16:11h

listeiro_037

Ainda me confundo um pouco com o conceito de biblioteca/cabeçalho. Mas vou
estudar isso com mais calma.

Realmente, C é uma linguagem bem crua. Muita coisa não existe de bandeja em C.

-----------------------------------------------------------------------------
paulo1205,oi.

Eu não tenho nenhuma intenção de usar BGI(Borland_Graphics_Interface). Citei
apenas como exemplo do que estava procurando. Eu quero que seja em Linux mesmo.
Nada de Windows.

Minha ideia era usar algo com a linguagem C, do tipo PROCESSING(Java) ou OCTAVE.

Digitar algumas poucas linhas de código e ter uma saída gráfica no console.

Vou tentar OpenGL. Apesar de parecer assustador pra um iniciante me pareceu
mais lógico que SDL à primeira vista.

Tentei Allegro 5.2.0 mas não consegui compilar/rodar os exemplos. Instala
normalmente pelo synaptic mas não consegui fazer funcionar corretamente.

-----------------------------------------------------------------------------

Abraço, galera.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts