Ik moet zeggen dat ik .NET een supertaal vind, behalve als het op printen neer komt, volgens mij had dit beter gekunt. Wat ik nu doe is de pagina's opslaan in een array van Bitmaps, en deze bij het PageEvent uitprinten. Uiteraard met een vergelijking van die teller en Ubound van die array kan je vaststellen of er meer pagina's zijn (HasMorePages) en zo gaat ie nog een keer naar het PrintPage event. Daar word natuurlijk ook de teller verhoogt. Die bitmap array neemt misschien veel ruimte in, maar dat is nu niet van belang en het maakt het opbouwen van de pagina's voor mij een stuk makkelijker.
Gezocht op google en wel veel handige voorbeelden gevonden, maar allemaal voor maar 1 page, of voor met een textfile. Op Got 1 topic, maar had ik niet heel veel aan.
Goed, het probleem: Doe ik nou een stuk tekst op een bmp,
en ik print daarna de bmp, of een preview, dan is de tekst onscherp, niet mooi. Doe ik nu bij het PrintPage event een e.Graphics.DrawString("bla", etc, dan is de tekst scherp. Nu is mijn vraag dus, hoe komt dit? Ik declareer mijn bitmap als volgt:
Dit is niet die array uiteraard
Let even niet op die 810 bij 1060 pixels, ik was even wat aan het uitproberen. Mag ook 400 bij 400 zijn ofzo, hij rekt het niet uit en krimpt het niet in, plus dat de margins hoger liggen dan dit formaat. Maar goed, ik heb meerdere pixelformaten geprobeerd, maar het blijft wazig. Misschien niet met bitmaps werken? Kan wel mn algorithme van het toetsen maken in het PrintPage alghorithme zetten, maar dit is zeker niet mijn voorkeur. Vind het maar raar. Misschien zie ik iets over het hoofd.
edit:
komt nog bij, dat wanneer ik de pagina instellingen aanpas (bijv. van Letter naar A4) dat de PageMargins niet veranderen? kgeloof iets van 850 bij 1150
Gezocht op google en wel veel handige voorbeelden gevonden, maar allemaal voor maar 1 page, of voor met een textfile. Op Got 1 topic, maar had ik niet heel veel aan.
Goed, het probleem: Doe ik nou een stuk tekst op een bmp,
code:
1
2
| e = Graphics.FromImage(bmp)
e.DrawString("blablabla", New Font("Arial", 12, FontStyle.Bold), Brushes.Black, 40, 40) |
en ik print daarna de bmp, of een preview, dan is de tekst onscherp, niet mooi. Doe ik nu bij het PrintPage event een e.Graphics.DrawString("bla", etc, dan is de tekst scherp. Nu is mijn vraag dus, hoe komt dit? Ik declareer mijn bitmap als volgt:
code:
1
2
| Dim bmp as Bitmap bmp = New Bitmap(810, 1060, Imaging.PixelFormat.Format32bppArgb) |
Dit is niet die array uiteraard
edit:
komt nog bij, dat wanneer ik de pagina instellingen aanpas (bijv. van Letter naar A4) dat de PageMargins niet veranderen? kgeloof iets van 850 bij 1150
[ Voor 6% gewijzigd door dixon op 08-08-2004 18:45 ]
Wat een onzin..