Clipper On Line • Ver Tópico - Captura de Tela com JPG.dll

Captura de Tela com JPG.dll

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Captura de Tela com JPG.dll

Mensagempor hazael » 19 Abr 2018 15:54

Obrigado! Vou experimentar.
Estava tentanto gerar um exemplo auto-contido extraindo o que precisa da HMG para usar dependendo do mínimo possível em Harbour puro, mas depois que comecei, mais e mais coisas tiveram que ser adicionadas e começou a parecer um "monstro", me assustei, vamos ver se consigo
No código C quanto compilado mostra muitos warnings e erros, talvez não vou conseguir resolver isso, talvez tem alguma flag que desabilita os warnings e erros, vou ter que ver se acho alguma informação sobre o assunto.
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 375
Data de registro: 27 Nov 2016 12:59
Curtiu: 4 vezes
Mens.Curtidas: 20 vezes

Captura de Tela com JPG.dll

Mensagempor JoséQuintas » 19 Abr 2018 19:41

_HMG_SYSDATA é onde a HMG salva toda informação sobre janelas/controles.
Talvez isolar essas funções mais específicas, que tratam do ambiente HMG, pra retirar da Bostaurus.

Senão... acrescentar HMG só pra poder usar Bostaurus.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9521
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 554 vezes

Captura de Tela com JPG.dll

Mensagempor asimoes » 19 Abr 2018 20:13

Consegui isolar a BosTaurus
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3800
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 219 vezes
Mens.Curtidas: 163 vezes

Captura de Tela com JPG.dll

Mensagempor asimoes » 19 Abr 2018 21:00

O código está isolado, não precisa compilar com a MIniGui, vai precisar somente apontar para o arquivo que está no zip, mgdesfs.h porque o fonte
BosTaurus_C.prg precisa das definições contidas neste arquivo, é só apontar o INCPATH para a pasta da compilação ou colocar na pasta INCLUDE do harbour.

#define BT_BITMAP_CAPTURE_DESKTOP     0

#define BT_FILEFORMAT_BMP  0
#define BT_FILEFORMAT_JPG  1
#define BT_FILEFORMAT_GIF  2
#define BT_FILEFORMAT_TIF  3
#define BT_FILEFORMAT_PNG  4

* HwGui
hBitmap := BT_BMP_CAPTURESCR(0, 0, 0, Hwg_GetDeskTopWidth(), Hwg_GetDeskTopHeight(), BT_BITMAP_CAPTURE_DESKTOP)

* GTWVG / GTWVT
hBitmap := BT_BMP_CAPTURESCR(0, 0, 0, Hb_gtInfo( HB_GTI_DESKTOPWIDTH ), Hb_gtInfo( HB_GTI_DESKTOPHEIGHT ), BT_BITMAP_CAPTURE_DESKTOP)

lSucesso := BT_BMP_SAVEFILE( hBitmap, 'TESTE.BMP', BT_FILEFORMAT_BMP )

Anexos
BOS.zip
Copiado do código original do Dr. Claudio Soto
(1.04 MiB) Baixado 12 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3800
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 219 vezes
Mens.Curtidas: 163 vezes

Captura de Tela com JPG.dll

Mensagempor Claudio Soto » 19 Abr 2018 21:00

Si vas a compilar en ANSI en 32 bits se puede sustituir
las directivas HMG_parnl y HMG_parc

Poner al inicio del archivo en C:

#define HMG_parnl hb_parnl
#define HMG_parc hb_parc

Si no se utilizas HMG, sustituir
GetFormHandle()

por:
Hb_gtInfo( HB_GTI_WINHANDLE ) o alguna otra función que retorne el handle de las ventanas.

Además eliminar las funciones:
BT_HMGGetImage
BT_HMGCloneImage
BT_HMGSetImage

que son sólo para HMG.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 461
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 33 vezes
Mens.Curtidas: 132 vezes

Captura de Tela com JPG.dll

Mensagempor asimoes » 19 Abr 2018 21:03

O código que postei gera o PNG também

lSucesso := BT_BMP_SAVEFILE( hBitmap, 'TESTE.PNG', BT_FILEFORMAT_PNG )
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3800
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 219 vezes
Mens.Curtidas: 163 vezes

Captura de Tela com JPG.dll

Mensagempor JoséQuintas » 19 Abr 2018 21:56

Aqui é tudo diferente..... rs
Está salvando a imagem cortada.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9521
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 554 vezes

Captura de Tela com JPG.dll

Mensagempor JoséQuintas » 19 Abr 2018 22:01

demobos.zip
(461.07 KiB) Baixado 9 vezes


TESTE.JPG


Provavelmente a ampliação do Windows.
A tela é 3840 x 2160 e salva como 2560 x 1440, cortando a tela.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9521
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 554 vezes

Captura de Tela com JPG.dll

Mensagempor JoséQuintas » 19 Abr 2018 22:03

Ok, retirando a ampliação do Windows dá certo.

TESTE.JPG
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9521
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 554 vezes

Captura de Tela com JPG.dll

Mensagempor JoséQuintas » 19 Abr 2018 22:11

Fugindo um pouco do assunto, e aproveitando o post....

Se o Windows retorna configuração diferente.....
Quem usa isso pra centralizar janela e/ou redimensionar componentes... saiba que vai bagunçar.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9521
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 554 vezes

Captura de Tela com JPG.dll

Mensagempor JoséQuintas » 19 Abr 2018 23:20

Só pra curiosidade, acho que tem gente que ainda não sabe a diferença:

19/04/2018  22:02        24.883.254 TESTE.BMP
19/04/2018  22:02           548.253 TESTE.JPG
19/04/2018  22:02         4.321.815 TESTE.PNG


de 24MB pra 0.5MB.... a diferença é grande.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9521
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 554 vezes

Captura de Tela com JPG.dll

Mensagempor asimoes » 20 Abr 2018 08:03

BosTaurus_C.prg modificado para não precisar do arquivo de definições mgdefs.h
BosTaurus_C.prg
Atualizado
(113.9 KiB) Baixado 15 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3800
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 219 vezes
Mens.Curtidas: 163 vezes

Captura de Tela com JPG.dll

Mensagempor hazael » 20 Abr 2018 09:49

Ficou interessante.
Eu gosto muito de PNG pois mantem melhor a qualidade
Veja o comparativo no meu caso:

BMP 6.220.854
GIF 394.453
TIF 125.742
JPG 125.402
PNG 82.051

O BMP ficou realmente enorme!
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 375
Data de registro: 27 Nov 2016 12:59
Curtiu: 4 vezes
Mens.Curtidas: 20 vezes

Captura de Tela com JPG.dll

Mensagempor asimoes » 20 Abr 2018 09:56

A título de informação:

PNG (Portable Network Graphics, também conhecido como PNG's Not GIF) é um formato de dados utilizado para imagens, que surgiu em 1996 como substituto para o formato GIF, devido ao facto de este último incluir algoritmos patenteados.

Fonte: https://pt.wikipedia.org/wiki/PNG

Sobre JPEG:

https://en.wikipedia.org/wiki/JPEG
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3800
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 219 vezes
Mens.Curtidas: 163 vezes

Captura de Tela com JPG.dll

Mensagempor hazael » 20 Abr 2018 10:20

Pelo teste do José pude averiguar que PNG ficou maior que JPG, isso ocorre em imagens grandes, este é o principal problema de PNG, além de não ser reconhecido por navegadores mais antigos.
Fora isso é em geral superior, inclusive pelo meu teste em uma tela HD 1920x1080 o PNG ganhou em qualidade e menor tamanho.
Para quem não quer entrar em muitos detalhes, eu diria que uma escolha segura é usar JPG pois vai resolver e é compatível com qualquer navegador.
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 375
Data de registro: 27 Nov 2016 12:59
Curtiu: 4 vezes
Mens.Curtidas: 20 vezes

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Ahrefs [Bot] e 3 visitantes


Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro