Imprimir imagem de lado
Moderador: Moderadores
Imprimir imagem de lado
:-O
Boa tarde, Srs. será que tem como imprimir uma imagem ora para o lado direito ora para o lado esquerdo ? Veja não é no lado diretio e esquerdo é a imagem virada ( rotacionar 90 G ), ok.
HASA - Minigui Extenmd - HBprint ( WinPrint )
Boa tarde, Srs. será que tem como imprimir uma imagem ora para o lado direito ora para o lado esquerdo ? Veja não é no lado diretio e esquerdo é a imagem virada ( rotacionar 90 G ), ok.
HASA - Minigui Extenmd - HBprint ( WinPrint )
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Imprimir imagem de lado
Amigo, com a HBPrinter para imprimir uma imagem você pode escolher a linha e coluna onde a imagem será impressa, então basta você definir uma variável (por exemplo: lLado:=.T.) para controlar a posição de impressão da imagem.
Abraços,
Código: Selecionar todos
IF lLado
@20,24 PICTURE "IMAGEM.JPG" size 15,30
lLado:=.F.
ELSE
@20,250 PICTURE "IMAGEM.JPG" size 15,30
lLado:=.T.
ENDIFToledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Imprimir imagem de lado
Hasa, faça um teste com este código:
Note que mudei a linha e coluna, tanto da imagem como do texto.
Abraços,
Código: Selecionar todos
#include "minigui.ch"
#include "winprint.ch"
Procedure main()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 HEIGHT 200 ;
TITLE 'Exemplo HBPrinter' ;
MAIN
@5 ,10 BUTTON Button_1 CAPTION '&Imprimir' ACTION Imprimir()
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
Proc Imprimir()
INIT PRINTSYS
SELECT BY DIALOG
SET PAPERSIZE DMPAPER_A4
SET ORIENTATION PORTRAIT
SET UNITS MM
SELECT DEFAULT PREVIEW
SET PREVIEW SCALE 1.8
define font "times14" name "times new roman" size 14
START DOC
START PAGE
//imagem lado esquerdo @ 20,24
// texto lado direito @ 20,70
@20,24 PICTURE "demo.jpg" size 40,40
@20,70 SAY '@ 20,24 PICTURE "demo.jpg" size 40,40' FONT "times14" TO PRINT
//imagem lado direito @ 80,130
// texto lado esquerdo @ 80,40
@80,130 PICTURE "demo.jpg" size 40,40
@80,40 SAY '@ 80,130 PICTURE "demo.jpg" size 40,40' FONT "times14" TO PRINT
END PAGE
END DOC
RELEASE PRINTSYS
ReturnAbraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Imprimir imagem de lado
:-$
Toledo não me refiro a direita esquerda e sim rotacionar a imagem propriamente dita:
HASA
Toledo não me refiro a direita esquerda e sim rotacionar a imagem propriamente dita:
HASA
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Imprimir imagem de lado
Hasa, você editou sua mensagem inicial? O texto acima já estava na mensagem? Não sei se estou ficando velho/cego, mas não me lembro de ter lido isto!HASA escreveu:imagem virada ( rotacionar 90 G )
Bom, me desculpe pela minha má interpretação... mas só com a HBPrinter não tem como fazer isto, a função da HBPrinter (para imprimir imagem) não tem parâmetro para rotacionar a imagem. No caso de texto tem como rotacionar, mas imagem não.
Acho que seria mais fácil já criar vários arquivos com a imagem em diversas posições.
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Imprimir imagem de lado
:-O :'(
Toledo, editei sim mas no primeiro meio minuto, pois não tinha colocado a parte do rotacionar 90 graus, acho que postei e você leu, achei até que você tinha lido já editado pois você postou 18 minutos depois que editei. Mil desculpas não comentei sobre a edição por esse motivo foi meio minuto mesmo postei e editei no mesmo segundo ok.
:{ obrigado pelas informações,
:)Pos
HASA
Toledo, editei sim mas no primeiro meio minuto, pois não tinha colocado a parte do rotacionar 90 graus, acho que postei e você leu, achei até que você tinha lido já editado pois você postou 18 minutos depois que editei. Mil desculpas não comentei sobre a edição por esse motivo foi meio minuto mesmo postei e editei no mesmo segundo ok.
:{ obrigado pelas informações,
:)Pos
HASA
Imprimir imagem de lado
:(Neg
Toledo, até achei um sample que rotaciona imagem mas... ela precisa estar na tela para depois poder imprimir, eu queria girar a imagem na ora da impressão mesmo, não deu.
C:\MiniGUI\SAMPLES\Advanced\FREEVIEW
:%
HASA
Toledo, até achei um sample que rotaciona imagem mas... ela precisa estar na tela para depois poder imprimir, eu queria girar a imagem na ora da impressão mesmo, não deu.
C:\MiniGUI\SAMPLES\Advanced\FREEVIEW
:%
HASA
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Imprimir imagem de lado
Hasa, como lhe disse, a HBPrinter não tem opção para rotacionar imagem, então temos que utilizar uma outra função para fazer isto e depois usar a HBPrinter para imprimir a imagem já pronta.
Uma alternativa seria a lib BosTaurus, veja um exemplo:
Observe que estou usando a função BT_BitmapLoadFile() para ler a imagem original e com a função BT_BitmapTransform() estou rotacionando a imagem e depois salvo a imagem em um arquivo, para isto estou usando a função BT_BitmapSaveFile().
Então, depois de executar este demo, na pasta do programa, além do arquivo original, você vai encontrar também os outros dois arquivos que foram salvos (ladoDir.jpg e ladoEsq.jpg)
Abraços,
Uma alternativa seria a lib BosTaurus, veja um exemplo:
Código: Selecionar todos
***********************************
* Compilar: incluir a lib BosTaurus
***********************************
#include "minigui.ch"
#include "winprint.ch"
#include "BosTaurus.CH"
Procedure main()
Private hBitmap :=0
Private hBitmapD :=0
Private hBitmapE :=0
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 HEIGHT 200 ;
TITLE 'Exemplo HBPrinter/BosTaurus' ;
MAIN
@5 ,10 BUTTON Button_1 CAPTION '&Imprimir' ACTION Imprimir()
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
Proc Imprimir()
//Lendo o arquivo JPG para a memória
hBitmap := BT_BitmapLoadFile ("demo.jpg")
//Rotacionando a imagem 90 graus
hBitmapD := BT_BitmapTransform (hBitmap, BT_BITMAP_ROTATE, 90, NIL)
//Rotacionando a imagem 270 graus
hBitmapE := BT_BitmapTransform (hBitmap, BT_BITMAP_ROTATE, 270, NIL)
//Salvando a imagem para um arquivo
Ret:= BT_BitmapSaveFile (hBitmapD, "ladoDir.jpg", BT_FILEFORMAT_JPG)
Ret:= BT_BitmapSaveFile (hBitmapE, "ladoEsq.jpg", BT_FILEFORMAT_JPG)
//apagando a imagem da memoria
BT_BitmapRelease (hBitmap)
BT_BitmapRelease (hBitmapD)
BT_BitmapRelease (hBitmapE)
INIT PRINTSYS
SELECT BY DIALOG
SET PAPERSIZE DMPAPER_A4
SET ORIENTATION PORTRAIT
SET UNITS MM
SELECT DEFAULT PREVIEW
SET PREVIEW SCALE 1.8
START DOC
START PAGE
@20,24 PICTURE "ladoDir.jpg" size 40,40
@20,130 PICTURE "ladoEsq.jpg" size 40,40
END PAGE
END DOC
RELEASE PRINTSYS
ReturnEntão, depois de executar este demo, na pasta do programa, além do arquivo original, você vai encontrar também os outros dois arquivos que foram salvos (ladoDir.jpg e ladoEsq.jpg)
Abraços,
- Anexos
-
hbprinter.zip- (710.19 KiB) Baixado 153 vezes
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Imprimir imagem de lado
- Toledo, exatamente isso, nunca lembro dessa lib ela tem muito coisa boa no gerenciamento de imagem, vou adequar o exemplo a minha necessidade, talvez fosse interessante você disponibilizar na parte de downloads ficou excelente.
:)Pos
HASA
