Clipper On Line • Ver Tópico - Saber o tamanho do Icone (W/H)

Saber o tamanho do Icone (W/H)

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Saber o tamanho do Icone (W/H)

Mensagempor asimoes » 18 Dez 2017 07:20

Pessoal,

Tem alguma função em harbour que passando como parâmetro o icone e retorne o tamanho w e h dele ?
Que não seja pela freeimage
â–º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: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Saber o tamanho do Icone (W/H)

Mensagempor asimoes » 18 Dez 2017 07:52

Consegui usando a HwGui
#include "hwgui.ch"
FUNCTION TamIcone
LOCAL nWidthIcon, nHeightIcon, aTamIcon
   
nhandle := hwg_Loadimage( 0, 'iPrinter24.ico', IMAGE_ICON, nWidthIcon, nHeightIcon, LR_DEFAULTSIZE + LR_LOADFROMFILE + LR_SHARED )

aTamIcon := hwg_Geticonsize( nhandle )

nW :=  aTamIcon[1]
nH :=  aTamIcon[2]

hwg_MsgInfo( "W  " + str(nw) + " " + "H " + Str(nh) )

RETURN aTamIcon
â–º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: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Saber o tamanho do Icone (W/H)

Mensagempor JoséQuintas » 18 Dez 2017 09:05

Só usar a do Windows, ou do Harbou4 3.4 que é compatível, e não precisa saber do tamanho original, melhor que isso, é selecionada atomaticamente a maior antes de redimensionar.

LoadImage function

HANDLE WINAPI LoadImage(
_In_opt_ HINSTANCE hinst,
_In_ LPCTSTR lpszName,
_In_ UINT uType,
_In_ int cxDesired,
_In_ int cyDesired,
_In_ UINT fuLoad
);


https://msdn.microsoft.com/pt-br/library/windows/desktop/ms648045(v=vs.85).aspx

Infelizmente não tem no XP, só do Windows Vista pra frente....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Saber o tamanho do Icone (W/H)

Mensagempor asimoes » 18 Dez 2017 09:15

Quintas,

A hwgui usa essa função LoadImage dentro da hwg_Loadimage
â–º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: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Saber o tamanho do Icone (W/H)

Mensagempor JoséQuintas » 18 Dez 2017 09:41

E eu uso no wvgButton que modifiquei.

::SendMessage( BM_SETIMAGE, WIN_IMAGE_ICON, wvg_LoadImage( ::oImage[ 3 ], nLoadFromDiskFile, WIN_IMAGE_ICON, nWidth, nHeight ) )


que por usa vez foi reescrito pelo Viktor assim:

/* https://msdn.microsoft.com/library/ms648045
   Windows 2000 and upper, wapi_LoadImage() can resize image

   nSource: 0 ResourceIdByNumber
   nSource: 1 ResourceIdByName
   nSource: 2 ImageFromDiskFile */
FUNCTION wvg_LoadImage( ncImage, nSource, nBmpOrIcon, nWidth, nHeight )

   hb_defaultValue( @nBmpOrIcon, WIN_IMAGE_BITMAP )

   RETURN iif( hb_defaultValue( nSource, 0 ) == 2, ;
      wapi_LoadImage( , ncImage, nBmpOrIcon, nWidth, nHeight, WIN_LR_LOADFROMFILE + WIN_LR_DEFAULTSIZE ), ;
      wapi_LoadImage( wapi_GetModuleHandle(), ncImage, nBmpOrIcon, nWidth, nHeight, WIN_LR_DEFAULTSIZE ) )


Nota: somente fonte PRG
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro