如何在椭圆上平均分布等高等宽的文字?(急急急)

abcdxyz 2002-03-26 12:43:19
在编程时要把一段字符串绕着椭圆弧平均分布等高等宽的字,均分弧又达不到效果,我觉得只能均分弦长.但已知条件只有: 一、弧长为280度,二、y 轴对称,三、椭圆长、短轴已知。 四、已知起角为-140 度 终角为140度.
求:弦长。知道的程序员我先谢谢你们了。
...全文
256 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
abcdxyz 2002-04-17
  • 打赏
  • 举报
回复
我使用GetPath(NULL,NULL,0)时返回值为零,怎么回事呢?
JoeXu 2002-04-16
  • 打赏
  • 举报
回复
yes, 楼上早我一步说对了
Wugifer 2002-04-16
  • 打赏
  • 举报
回复
nNumPts 不是你可以随便指定的。
先用 nNumPts = pDC ->GetPath( NULL, NULL, 0 ) 获得点的总数,
为lpPoints 和 lpTypes 分配足够的大小,
再用 n = pDC ->GetPath( lpPoints, lpTypes, nNumPts );
abcdxyz 2002-04-16
  • 打赏
  • 举报
回复
我得不到10个点的坐标,返回值为-1;这一段程序错在哪?(急急急...)
POINT lpPoints[10];
byte lpTypes[10];
int nNumPts=10;
pDC->BeginPath();
pDC->Ellipse(10,10,300,100);
pDC->EndPath();
pDC->FlattenPath();
int n = 10;
n = pDC->GetPath(&lpPoints[0], &lpTypes[0],10);

for (int i=0;i<10;i++)
{
CString string;
string.Format("%d,%d",lpPoints[i].x,lpPoints[i].y);
AfxMessageBox(string);
}
Wugifer 2002-04-15
  • 打赏
  • 举报
回复
pDC->BeginPath();
pDC ->Ellipse( 20,20,300,100 );
pDC->EndPath();
pDC->FlattenPath();

nNumPts = pDC->GetPath(lpPoints, lpTypes, nNumPts);

lpPoints 存了一些点,这些点连起来就是椭圆的折线表示。

你对GetPath理解反了
abcdxyz 2002-04-06
  • 打赏
  • 举报
回复
字体如何旋转我已经知道了。 但在椭圆上平分我还是不知道。烦你们帮我想想。我会送分的.
quanxiongwei 2002-04-05
  • 打赏
  • 举报
回复
MFC windows 程序设计中的代码,希望对你有帮助。
void CMainWindow::OnPaint()
{
CRect rect;
GetClientRect(&rect);

CPaintDC dc(this);
dc.SetViewportOrg(rect.Width()/2,rect.Height()/2);
dc.SetBkMode(TRANSPARENT);

for(int i=0;i<3600;i+=150)
{
LOGFONT lf;
::ZeroMemory(&lf,sizeof(lf));
lf.lfHeight=160;
lf.lfWeight=FW_BOLD;
lf.lfEscapement=i;
lf.lfOrientation=i;
::lstrcpy(lf.lfFaceName,_T("Arial"));

CFont font;
font.CreatePointFontIndirect(&lf);

CFont *pOldFont=dc.SelectObject(&font);
dc.TextOut(0,0,CString(_T("Hello,MFC")));
dc.SelectObject(pOldFont);
}
}
abcdxyz 2002-04-04
  • 打赏
  • 举报
回复
高手:如果我看的int GetPath(LPPOINT lpPoint,LPBYTE lpType,int nCount) const 没有错的话这个函数是说:根据给的一系列点(lpPoint),
要画的曲线(lpType),有多少个控制点(nCount);但我现在要的就是点。而不是有点画曲线。请问高手是不是呢?
shu 2002-04-02
  • 打赏
  • 举报
回复
用不着你自己干!
试用一下CDC的getpath(),beginpath()等函数
我不是大明 2002-04-02
  • 打赏
  • 举报
回复
我倒!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧