ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
798
798
EMPFEHLEN
-
Hallo!
Ich braüchte etwas Hilfe. Ich habe eine MFC Anwendung geschrieben, die Graphen darstellt. Jetzt möchte ich nur noch die Graphen auch drucken können, das macht es ja auch, nur viel zu klein.
Wie vergrößere ich das Druckbild?
-
29.03.04 12:27 #2
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Versuch mal eine geringere Druckerauflösung für die Ausgabe oder erzeuge eine grössere Bitmap.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Guter Vorschlag, Danke! Aber wie mach ich das? Hab nicht so die Ahnung davon!
Würde mich freuen wenn du mir das erklären könntest!
-
30.03.04 15:45 #4
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Wie machst du es denn im Moment? Kannst du das etwas näher erklären?
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Also im Moment hab ich nur die zwei Funktionen eingefügt:
BOOL CVGraphicView::OnPreparePrinting(CPrintInfo* pInfo)
{
pInfo->SetMaxPage(1);
return DoPreparePrinting(pInfo);
}
void CVGraphicView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
CSize sizeTotal;
sizeTotal.cx = sizeTotal.cy = 1000;
SetScrollSizes(MM_LOENGLISH, sizeTotal);
OnDraw(pDC);
}
-
31.03.04 20:08 #6
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
da ich selber nicht weiss, wie man das am besten löst, habe ich mal herumgesucht. Bei der MSDN Lib beim Thema CPrintInfo das Beispiel DIBLOOK angeben. Ich habe mir das mal angesehen und folgende interessante Routine entdeckt:
Hilft dir das weiter? Ich kann dir das Beispielprojekt schicken, falls du es nicht ohnehin schon angesehen hast.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
void CDibView::OnDraw(CDC* pDC) { CDibDoc* pDoc = GetDocument(); HDIB hDIB = pDoc->GetHDIB(); if (hDIB != NULL) { LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB); int cxDIB = (int) ::DIBWidth(lpDIB); // Size of DIB - x int cyDIB = (int) ::DIBHeight(lpDIB); // Size of DIB - y ::GlobalUnlock((HGLOBAL) hDIB); CRect rcDIB; rcDIB.top = rcDIB.left = 0; rcDIB.right = cxDIB; rcDIB.bottom = cyDIB; CRect rcDest; if (pDC->IsPrinting()) // printer DC { /// Ab hier wird's interessant! /// (Wird für Druck aufgerufen) // get size of printer page (in pixels) int cxPage = pDC->GetDeviceCaps(HORZRES); int cyPage = pDC->GetDeviceCaps(VERTRES); // get printer pixels per inch int cxInch = pDC->GetDeviceCaps(LOGPIXELSX); int cyInch = pDC->GetDeviceCaps(LOGPIXELSY); // // Best Fit case -- create a rectangle which preserves // the DIB's aspect ratio, and fills the page horizontally. // // The formula in the "->bottom" field below calculates the Y // position of the printed bitmap, based on the size of the // bitmap, the width of the page, and the relative size of // a printed pixel (cyInch / cxInch). // rcDest.top = rcDest.left = 0; rcDest.bottom = (int)(((double)cyDIB * cxPage * cyInch) / ((double)cxDIB * cxInch)); rcDest.right = cxPage; } else // not printer DC { rcDest = rcDIB; } ::PaintDIB(pDC->m_hDC, &rcDest, pDoc->GetHDIB(), &rcDIB, pDoc->GetDocPalette()); } }Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Vielen Dank! Ich werds mir ansehen und ausprobieren. Wenn du mir das Beispiel schicken könntest wär auch nicht schlecht.
-
02.04.04 14:26 #8
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Ich weiss deine Emailadresse nicht. Die brauche ich, oder du saugst es dir selber hier: DIBLOOK Beispiel in MSDN online.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
Ähnliche Themen
-
3D Graphen Zeichnen
Von Brätzelbäcker im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 26.11.10, 08:36 -
2D Graphen
Von Pichel im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 10.09.08, 15:26 -
ASP.NET und schöne Graphen?
Von Eroli im Forum .NET Web und KommunikationAntworten: 4Letzter Beitrag: 23.07.08, 21:58 -
Graphen wie z.b. x^1/3 zeichnen in php
Von Astror Enales im Forum PHPAntworten: 1Letzter Beitrag: 27.11.06, 17:35 -
Graphen problem
Von cycovery im Forum C/C++Antworten: 0Letzter Beitrag: 09.06.06, 11:17





Zitieren
Login






