<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !?]]></title><description><![CDATA[<p>Das Programm soll ein Hintergrundbild mit ein par Texten drucken. Ich habe es immer mit dem &quot;MS Office Dokument Imagewriter&quot; Treiber als Datei gedruckt, was auch immer wunderbar geklappt hat.</p>
<p>Als die Druckerfunktion dann komplett war, wollte ich zum testen wirklich drucken. Mein Drucker hat allerdings nur ein Blatt durchlaufen lassen - ohne Aufdruck !?</p>
<p>Habe es auf einem anderen Computer / Drucker getestet wo es ohne Probleme funktioniert hat.</p>
<p>Mir ist aufgefallen, dass der Druckauftrag, beim Drucken in eine Datei, 75 MB griß ist. Beim wirklichen Drucken sind es nur ein par kB. Da kommt also was nicht richtig an. Ich wundere mich nur warum es dann virtuell so gut klappt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195790/virtuelles-drucken-klappt-wirkliches-drucken-nur-auf-manchen-druckern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 04:19:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195790.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Oct 2007 05:48:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Mon, 22 Oct 2007 05:48:26 GMT]]></title><description><![CDATA[<p>Das Programm soll ein Hintergrundbild mit ein par Texten drucken. Ich habe es immer mit dem &quot;MS Office Dokument Imagewriter&quot; Treiber als Datei gedruckt, was auch immer wunderbar geklappt hat.</p>
<p>Als die Druckerfunktion dann komplett war, wollte ich zum testen wirklich drucken. Mein Drucker hat allerdings nur ein Blatt durchlaufen lassen - ohne Aufdruck !?</p>
<p>Habe es auf einem anderen Computer / Drucker getestet wo es ohne Probleme funktioniert hat.</p>
<p>Mir ist aufgefallen, dass der Druckauftrag, beim Drucken in eine Datei, 75 MB griß ist. Beim wirklichen Drucken sind es nur ein par kB. Da kommt also was nicht richtig an. Ich wundere mich nur warum es dann virtuell so gut klappt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389700</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Mon, 22 Oct 2007 05:48:26 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Tue, 23 Oct 2007 11:31:51 GMT]]></title><description><![CDATA[<p>Manche drucker besonders initialisieren (DEVMODE) muss man nicht, oder !?</p>
<p>Habe keine Idee -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390479</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Tue, 23 Oct 2007 11:31:51 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Tue, 23 Oct 2007 13:23:35 GMT]]></title><description><![CDATA[<p>Wie sieht denn Deine Druckfunktion aus? Welches Projekt hast Du erstellt (MDI, SDI, Dialog)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390552</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Tue, 23 Oct 2007 13:23:35 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Tue, 23 Oct 2007 17:27:33 GMT]]></title><description><![CDATA[<p>Ich benutze eine Dialogfeld-Anwendung.</p>
<p>Ich habe gerade zufällig rausgefunden, dass der Fehler bei StretchBlt() auftritt.</p>
<p>Ich erzeuge einen Memory DC (Kompaibler DC ist PaintDC(this)). Darauf zeichne ich das Bild. Anschließend kopiere ich mit 'StretchBlt()' den Inhalt des Memory DC auf PrintDC. Dort wird mir dann FALSE zurückgegeben.</p>
<p>Die Funkion der ganzen Druckergeschichte kann nicht das Problem sein, virtuell drucken kann ich ja.</p>
<p>Den Code muss ich erst auseinander reißen (viel Arbeit), wenns sein muß mache ich das. Könnt Ihr Euch auf die fehlgeschlagene 'StretchBlt()' Funktion einen Reim machen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390724</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Tue, 23 Oct 2007 17:27:33 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Wed, 24 Oct 2007 05:43:55 GMT]]></title><description><![CDATA[<p>Dazu fällt mir ein, ich hatte auch mal das Problem mit dem Leerblatt. Bei mir lag es an der Größe der Ausgabe. Soll heißen, sie war so klein, dass der Drucker sie nicht darstellen konnte.</p>
<p>Experimentiere mal mit den physikalischen und logischen Koordinaten des DC und versuche auf dem speziellen Drucker einfach mal relativ großen Text zu printen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390934</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 24 Oct 2007 05:43:55 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Wed, 24 Oct 2007 05:58:19 GMT]]></title><description><![CDATA[<p>Danke, ich habe gerade was gefunden, was den Fehler auslösen kann (Ähnlich wie dein Ansatz):</p>
<p><a href="http://support.microsoft.com/kb/269585/de" rel="nofollow">http://support.microsoft.com/kb/269585/de</a></p>
<p>Denke das Problem kann ich später beheben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p><strong>EDIT:</strong><br />
Die Seite lest Ihe besser auf englisch, die Computer-Übersetzung ist ne Katastrophe ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390936</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Wed, 24 Oct 2007 05:58:19 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Wed, 24 Oct 2007 06:14:12 GMT]]></title><description><![CDATA[<p>Red Skall schrieb:</p>
<blockquote>
<p>Die Funkion der ganzen Druckergeschichte kann nicht das Problem sein, virtuell drucken kann ich ja.</p>
</blockquote>
<p>Ich hatte ein Problem mit deinem Begriff &quot;virtuell Drucken&quot;. Wenn Du in eine Datei druckst, dann ist die praktische Auflösung deines Ausgabegerätes u.U. wesentlich höher wie die eines physisch vorhandenen Drucker (Laser oder Tinte).<br />
Hast Du schon mal mit den Abbildungsmodi (über pDC-&gt;SetMapMode(....)) gespielt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390944</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Wed, 24 Oct 2007 06:14:12 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Wed, 24 Oct 2007 16:17:13 GMT]]></title><description><![CDATA[<p>Bisher noch nicht, aber ich habe es heute gestestet, leider ohne Erfolg. Egal was für Parameter ich bei 'SetMapMode()' eingestellt habe hat er immer eine dunkle Linie gedruckt.</p>
<p>Ich wollte das Problem eigentlich so lösen, dass ich einen Memory DC erstelle, der gena so groß ist, wie der Print DC. Dort benutze ich nur die Fläche, die ich brauche.</p>
<p>Ich kann den Memory DC dieser größe (6675 x 4800 Pixel) aber erst garnicht erstellen:</p>
<pre><code class="language-cpp">CBitmap* CreateMemoryDC(CDC *dReferenceDC, CDC *dDC, CSize sSize)
{
	CBitmap bBitmap;

	// DC erstellen:
	if ((dDC-&gt;CreateCompatibleDC(dReferenceDC)) &amp;&amp; (bBitmap.CreateCompatibleBitmap(dReferenceDC, sSize.cx, sSize.cy)))
		// Altes Bitmap zurückgeben:
		return (dDC-&gt;SelectObject(&amp;bBitmap));
	else
		return (NULL);
}
</code></pre>
<p>bei <em>bBitmap.CreateCompatibleBitmap</em> gibt er aber FALSE zurück <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Normalerweise habe den Memory DC zum Testen immer mit 2172 x 3072 Pixeln erstellt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391358</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Wed, 24 Oct 2007 16:17:13 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Thu, 25 Oct 2007 06:07:51 GMT]]></title><description><![CDATA[<p>[quote=&quot;Red Skall&quot;]Ich wollte das Problem eigentlich so lösen, dass ich einen Memory DC erstelle, der gena so groß ist, wie der Print DC. Dort benutze ich nur die Fläche, die ich brauche.<br />
quote]</p>
<p>Woher weißt Du denn auf welche Größe Dein PrintDC drucken kann? Legst Du es manuell fest oder holst Du Dir den PrintDC mittels GetPrinterDC? Was passiert, wenn Du NULL übergibst? Liefert dann CreateCompatibleDC auch false zurück?<br />
Ansonsten schau mal <a href="http://www.coding-help.de/drucken.html" rel="nofollow">hier</a> nach. Das muss man dann nur noch auf die Bitmap umschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391598</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Thu, 25 Oct 2007 06:07:51 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Thu, 25 Oct 2007 13:19:46 GMT]]></title><description><![CDATA[<p>Die größe hole ich mir mit 'GetDeviceCaps()' nachdem ich mit 'CreateDC()' den PrintDC erstellt habe.</p>
<p>Also wenn ich da 'NULL' übergebe stürzt das Programm ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Habe mir den Link mal genau angeguckt, ich mache es ja im Prinzip so. Habe aber auch noch ein par Kleinigkeiten in mein Programm übernommen. Leider ohne Erfolg, es tritt der selbe Fehler auf.</p>
<p>Wenn ich 'bBitmap.CreateCompatibleBitmap()' aufrufe, da bricht er ja auch mit 'FALSE' ab. Kann die Funktion auch nicht ausgeführt werden, wenn sich die Abmessungen von Quell-DC und Ziel-Bitmap deutlich unterscheiden ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391883</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Thu, 25 Oct 2007 13:19:46 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Thu, 25 Oct 2007 13:29:32 GMT]]></title><description><![CDATA[<p>Red Skall schrieb:</p>
<blockquote>
<p>Die größe hole ich mir mit 'GetDeviceCaps()' nachdem ich mit 'CreateDC()' den PrintDC erstellt habe.</p>
<p>Also wenn ich da 'NULL' übergebe stürzt das Programm ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Habe mir den Link mal genau angeguckt, ich mache es ja im Prinzip so. Habe aber auch noch ein par Kleinigkeiten in mein Programm übernommen. Leider ohne Erfolg, es tritt der selbe Fehler auf.</p>
<p>Wenn ich 'bBitmap.CreateCompatibleBitmap()' aufrufe, da bricht er ja auch mit 'FALSE' ab. Kann die Funktion auch nicht ausgeführt werden, wenn sich die Abmessungen von Quell-DC und Ziel-Bitmap deutlich unterscheiden ?</p>
</blockquote>
<p>Im Grund schon. Dann schau doch mal welche Größe der PrintDC dir zur Verfügung stellt und wie grorß deine Bitmap ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391896</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Thu, 25 Oct 2007 13:29:32 GMT</pubDate></item><item><title><![CDATA[Reply to Virtuelles Drucken klappt, wirkliches Drucken nur auf manchen Druckern !? on Thu, 25 Oct 2007 14:01:25 GMT]]></title><description><![CDATA[<p>Größen:</p>
<pre><code>Print DC: 6675 x 4800 Pixel
Bitmapgröße: 2172 x 3072 Pixel
</code></pre>
<p>Die größe für den Memory DC hat immer die selbe Größe wie das Bitmap. Ist schon ein großer Unterschied <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Aber ich kann es ja nicht umgehen. Entweder ich erstelle einen DC mit Bitmapgröße und der Fehler kommt beim blitten von Memory DC auf Printer DC, oder oder Fehler kommt wenn ich den Memory DC mit gleicher Größe wie Printer DC erstelle.</p>
<p>Gibt es da vielleicht nen ganz anderen Ansatz den ich verfolgen soll ?</p>
<p>Ich will ja ein Bild, was unter Umständen viel kleiner ist als der Print DC ist ainfach genau dadrauf zeichnen. Da ich aber von Drucker zu Drucker unterschiedliche Größen vom Print DC zurück bekomme, muss ich das zu zeichnende Bild auf einen Memory DC zeichnen, und anschließen diesem auf den Printer DC zeichnen (Wegen Stretch-Funktion).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391922</guid><dc:creator><![CDATA[Red Skall]]></dc:creator><pubDate>Thu, 25 Oct 2007 14:01:25 GMT</pubDate></item></channel></rss>