SetMapMode()屏幕上畫線可以用,打印機上怎么用呀,已有三個帖子共100分。


各位大俠,以下是在屏幕上用的,setmapmode()取不同值,可以得到不同的顯示效果。
打印機上用,卻不行了,請告訴打印機上該怎么寫,先謝了。

我有三個相關的帖子,共可以給100分。

http://www.csdn.net/expert/topic/157/157623.shtm
http://www.csdn.net/expert/topic/159/159886.shtm

屏幕上:(成功)
    int oldmode;
    TPoint oldpoint;
    oldmode=SetMapMode(Image1->Canvas->Handle,MM_LOMETRIC);
    SetWindowOrgEx(Image1->Canvas->Handle,-100,200,&oldpoint);
    Image1->Canvas->Pen->Color=clRed;
    Image1->Canvas->Rectangle(0,0,100,100);
    SetWindowOrgEx(Image1->Canvas->Handle,oldpoint.x,oldpoint.y,NULL);
    SetMapMode(Image1->Canvas->Handle,oldmode);

打印機上:(失敗)
    TPrinter *Prntr = Printer();
    SetMapMode(Prntr->Handle,MM_LOMETRIC);// 將每個邏輯單位改為0.1mm
    Prntr->BeginDoc();
  
    for(xValue=2;xValue<1000;xValue++)  // 畫一段1000個點組成的曲線,橫向長度為100mm
    {
        temp1[xValue]=p[xValue];      //從數組中得到y軸的值

        Prntr->Canvas->MoveTo(xValue-1,temp1[xValue-1]);
        Prntr->Canvas->LineTo(xValue,temp1[xValue]);    // 畫線
    }

    Prntr->EndDoc();

6 个解决方案

#1


這個問題已解決,大家有興趣,可參見http://www.csdn.net/expert/topic/159/159886.shtm ,現在等WildWind()兄來取分。

#2


這么久了,唉...........
誰來簽到,前三人給分。

#3


第三簽到

#4


你應該等
不應該亂給分。

#5


說的是,好,我繼續等,也請大家若知道WildWind()兄的qq號或郵箱的,通知他或我一聲。先謝了。

#6


一切皆因緣,萬事俱有果。
結帳了。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: