Foxtable(狐表)用户栏目专家坐堂 → 請教,文字圍繞圓旋轉有何簡便代碼?


  共有13534人关注过本帖树形打印复制链接

主题:請教,文字圍繞圓旋轉有何簡便代碼?

帅哥哟,离线,有人找我吗?
hhbb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
請教,文字圍繞圓旋轉有何簡便代碼?  发帖心情 Post By:2012/3/13 13:22:00 [显示全部帖子]

請教:有一圓,已知直徑及其坐標,文字圍繞圓旋轉有何簡便代碼?

一個個字符調試其旋轉角度及其坐標太麻煩了

如下圖, 圍繞文字『香港服務名牌 HONG KONG TOP SERVICE BRAND』 


图片点击可在新窗口打开查看此主题相关图片如下:spp.jpg
图片点击可在新窗口打开查看




 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/13 15:10:00 [显示全部帖子]

呵呵,图片的话,如图片小些,文字更小,朦胧一片

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/13 17:59:00 [显示全部帖子]

各字符坐標還易定,旋轉角度不易定,望高手指點:

Dim s1 As String = "BRAND 牌名務服港香   HONG KONG TOP SERVICE "
Dim xy,yy,xn1,yn1,x1,y1,bj1,jdn1 As Double

xy =100   '圓心X坐標
yy=90      '圓心Y坐標
bj1=25     '圓半徑

Dim doc As New PrintDoc '定义一个报表
Dim rp As New prt.RenderParagraph()

For Each c As Char In s1
    rp = New prt.RenderParagraph()
    rp.Content.AddText(c) 
    rp.Width = 6 
    rp.Height = 6
    jdn1+ =9.7
   y1=bj1*Math.abs(Math.Sin(jdn1*Math.PI/180))
    x1 =(bj1^2-y1^2)^0.5
    If jdn1<90 OrElse jdn1> 270 Then
        xn1=xy+x1
    Else
        xn1=xy-x1
    End If
    
    If jdn1<180 Then
        yn1=yy-y1
    Else
        yn1=yy+y1
    End If
    
    rp.x =xn1
    rp.y =yn1
    rp.Style.TextAngle = jdn1 
    doc.Body.Children.Add(rp) 
    
Next

Doc.Preview() '预览报表

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/14 13:30:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:spp.jpg
图片点击可在新窗口打开查看

唉,俺只能做到这样,如图片小些,更难调整,要是专业报表能有个『环形容器』就易事了!
Dim s1 As String = "BRAND 牌 名 務 服 港 香   HONG KONG TOP SERVICE"
Dim xy,yy,bj1,jdn1 As Double
xy = 100   '圓心X坐標
yy = 90      '圓心Y坐標
bj1= 15     '圓半徑
jdn1=20    '起始角度


Dim doc As New PrintDoc '定义一个报表
Dim rm As New prt.RenderImage() '定义一个图片对象
rm.Image = GetImage("圆心图片.BMP") '
rm.Width = 28
rm.Height =28
rm.x=xy-10
rm.y=yy-10
doc.Body.Children.Add(rm) 


Dim rp As New prt.RenderParagraph()
For Each c As Char In s1
    rp = New prt.RenderParagraph()
    rp.Content.AddText(c)
    rp.Width = 6
    rp.Height = 6
    jdn1- = Int(3600/s1.Length)/10-0.1   
     rp.x = xy+bj1*Math.Cos(jdn1*Math.PI/180)
    rp.y = yy+bj1*Math.Sin(jdn1*Math.PI/180)       
    rp.Style.TextAngle = iif(asc(c)>64,90,-90) -jdn1
    doc.Body.Children.Add(rp)   
Next
Doc.Preview() '预览报表
[此贴子已经被作者于2012-3-14 13:40:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/14 14:17:00 [显示全部帖子]

以下是引用狐狸爸爸在2012-3-14 14:03:00的发言:

呵呵,很佩服。

 

图片点击可在新窗口打开查看


还不美观,不能实用啊!希望高手指教!


 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/14 18:13:00 [显示全部帖子]

頂頂!

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/15 9:28:00 [显示全部帖子]

再頂

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/15 10:42:00 [显示全部帖子]

呵呵,不敢托大!俗話言:寸有所長,尺有所短!

老大你說的辦法,俺昨夜也想這樣做!如[I][M],雖都是一個字符,其字節不同,占用的角度也不同!

專業報表能作出弧形,其參數為何沒有環形文字呢!不解?

 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/15 11:10:00 [显示全部帖子]

以下是引用程兴刚在2012-3-15 11:00:00的发言:
应该是您的远心点和半径有问题!
呵呵,應該不是,就算只顯示文字,也看出英文字符有些過密,有的過寬


 回到顶部
帅哥哟,离线,有人找我吗?
hhbb
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2012/3/15 11:27:00 [显示全部帖子]

以下是引用程兴刚在2012-3-15 11:09:00的发言:
其实您这样真的没有必要,既然是您的圆心都是用的图片,周边直接用文字的话,反而不太协调,边缘也不够圆滑,看了看圆心的图片生成的效果,主要是您的原图像素不够高,图像尺寸过小,其实就应该用贺老师说的解决办法,制作一张像素高一点的、图片尺寸大一点图片,不要用元扫描图片,在GDI+绘图时用缩放命令缩小到您需要的指定大小,自然就不会这么虚了,您现在等于是用了小的源图,在GDI+绘图中又稍微放大了造成的!
說的也是,吃力不討好!


 回到顶部
总数 13 1 2 下一页