如何网页调用的dll? ( 积分: 50 )

  • 主题发起人 主题发起人 雷电
  • 开始时间 开始时间

雷电

Unregistered / Unconfirmed
GUEST, unregistred user!
我想让用户安装dll到本地并注册,然后在网页中调用dll
dll功能是在网页中画图,比如一些lineto,textout之类的操作
该怎么做?win32程序中都是画在paintbox中的,网页里的话画在什么容器里?
 
下面是在.net中的画图代码
Sub DrawPicture()
Dim myTop,myLeft,myTop1,myLeft1,myWidth,myHeight,myWidth1,myHeight1 As Integer
Dim myI,myY As Integer
Dim myRectangle,myRectangle1,myRectangle2 As Rectangle
Dim myGraphics As Graphics
Dim myBitMap as BitMap
Dim myPen As New Pen(Color.Blue, 1)
Dim I,J,K As Integer
Dim myRwidth As Integer
Dim myRJg,myPer1,myPer2 As Integer
Dim myPer,myPer0 As Double
Dim myColor As New ArrayList()
myI=300
myY=400
myWidth=400
MyHeight=400
myLeft=50
myTop=50
myLeft1=40
myTop1=100
myWidth1=10
myColor.Add(New SolidBrush(Color.Red))
myColor.Add(New SolidBrush(Color.teal))
myColor.Add(New SolidBrush(Color.Yellow))
myColor.Add(New SolidBrush(Color.blue))
myColor.Add(New SolidBrush(Color.green))
myColor.Add(New SolidBrush(Color.Cyan))
myColor.Add(New SolidBrush(Color.DarkOliveGreen))
myColor.Add(New SolidBrush(Color.Gold))
myColor.Add(New SolidBrush(Color.Pink))
myColor.Add(New SolidBrush(Color.bisque))
myColor.Add(New SolidBrush(Color.black))
myColor.Add(New SolidBrush(Color.blueviolet))
myColor.Add(New SolidBrush(Color.turquoise))
myColor.Add(New SolidBrush(Color.fuchsia))
myColor.Add(New SolidBrush(Color.darkorchid))

myBitmap=New Bitmap(myWidth+myI+100,myHeight+50) '创建一个Bitmap实例

myGraphics=Graphics.FromImage(myBitMap) '创建一个Graphics实例
myRectangle=new Rectangle(myLeft,myTop,myWidth,myHeight) '创建矩形框
myGraphics.FillRectangle(New SolidBrush(Color.white),0,0,myWidth+myI+100,myHeight+50) '填充矩形

myGraphics.DrawLine(myPen,myLeft,myTop,myLeft,myHeight) '画竖线
myGraphics.DrawLine(myPen,myLeft,myHeight,myWidth+myI,myHeight) '画横线
J=myLeft1
K=myTop
myGraphics.DrawString(myXmNr & " " & myYpMc & " 成本项目阶段(" & myQsny1 & "-" & myQsNy2 & " 与 " & myzzNy1 & "-" & myZzNy2 & ")汇总同期对比表",New Font("宋体",14,FontStyle.bold),New Solidbrush(Color.black),myLeft,myTop-40)

For I=0 To myArrayCbXmStr.GetUpperBound(0)
'myper=myArrayQsFy(I)/800000
'myPer0=myArrayZzFy(I)/800000
myper=myArrayQsFy(I)/myQsTotal*800
myPer0=myArrayZzFy(I)/myZzTotal*800

If myPer>0 Then
If myPer<1 Then
myPer1=1
Else
myPer1=Cint(myPer)
End If
Else
myPer1=0
End If
If myPer0>0 Then
If myPer0<1 Then
myPer2=1
Else
myPer2=Cint(myPer0)
End If
Else
myPer2=0
End If
myRectangle1=New Rectangle(myLeft1+J,myHeight-myPer1,myWidth1,myPer1)
myGraphics.FillRectangle(myColor(I),myLeft1+J,myHeight-myPer1,myWidth1,myPer1) '填充矩形
myRectangle1=New Rectangle(myLeft1+J+mywidth1+1,myHeight-myPer2,myWidth1,myPer2)
myGraphics.FillRectangle(myColor(I),myLeft1+J+mywidth1+1,myHeight-myPer2,myWidth1,myPer2) '填充矩形
J=myLeft1+(I+1)*35

myGraphics.FillRectangle(myColor(I),myWidth+myI-60,myTop+k,10,10)
myGraphics.DrawString(myArrayCbXmStr1(I),New Font("宋体",9,FontStyle.Regular),New Solidbrush(Color.black),myWidth+MyI-40,myTop+K)
K=mytop+(I+1)*15
'If myTotalValue>0 Then
' myGraphics.DrawString(myArrayName(k) & ":" & Format(myArrayValue(k),"##,###0.00") & "元 占总费用的 " & Format(myArrayvalue(K)/myTotalValue*100,"##0.00") & "%",New Font("宋体",9,FontStyle.Regular),New Solidbrush(Color.black),myLeft+myWidth+20+20,myTop+10+K*18)
'Else
' myGraphics.DrawString(myArrayName(k) & ":" & Format(myArrayValue(k),"##,###0.00") & "元 占总费用的 0.00%",New Font("宋体",9,FontStyle.Regular),New Solidbrush(Color.black),myLeft+myWidth+20+20,myTop+10+K*18)
'End If
'myGraphics.DrawString(myArrayName(k),New Font("宋体",10,FontStyle.Regular),New Solidbrush(Color.White),myLeft+myWidth+20+50,myTop+K*20)

Next I
Response.ContentType="Image/jpeg"
myBitMap.Save(response.OutputStream,ImageFormat.Jpeg)
myGraphics.Dispose()
myBitmap.Dispose()
End Sub
 
我是想写个activex liabrary,然后在网页中
<object classid="clsid:D14B0AFF-58BC-42BC-BB76-EBDD029A2983" id="MainWnd1" width="1000" height="650">
</object>
<script>
var mids;
mids=document.MainWnd1;
</script>
调用,
但在这个库中应该写 什么.linto呢?
 
我先新建项目activex library,然后添加automation object,在这个unit中
初始化时创建p:=Tpaintbox.Create(nil);
Method.Data:=nil;
Method.Code:=@ponpaint;
p.OnPaint:=TNotifyEvent(Method);
然后添加
procedure ponpaint(Sender:TObject);
begin
p.Canvas.Brush.Color:=clblack;
p.Canvas.Rectangle(p.ClientRect);
end;
最后编译成dll

为什么用网页调用这个dl时,只是显示一块100*100空白,而不是一块黑色区域?
<object classid="clsid:D540767A-1928-4329-B82A-5CFCA153F6D4" id="MainWnd1" width="100" height="100" codebase="my.dll"></object>
 
如果你想花最少的钱学习流行的计算机技术,本人低价提供
计算机专业高清晰 视 频 教 程,所有教程由业内名家讲解,物超所值,
所有光盘4元/张,特快专递全国三天内到货.
联系方式:手 机:1 3 5 76145612(手机联系佳) Q Q:108410943
E-mail:ncncldjjg@126.com
1、Oracle9iOCP(Oracle认证专家DBA)视频教程(23CD)
2、SQL语言、数据挖掘、SQLServer2000视频教程(6CD)
3、计算机网络原理视频教程(4CD)
4、计算机实用组网技术视频教程(3CD)
5、MCSE(微软认证系统工程师)认证视频教程(11CD)
6、windows2003即学即会视频教程(6CD)
7、J2EE Web程序开发定向班/Java就业班视频教程
(java基础jsp核心技术UML设计)(13CD)
8、J2EE基础高级案例分析视频教程(9CD)
9、马士兵J2SE入门与精通(含坦克大战、BBS实例)视频教程(6CD)
10、java语言深入详解视频教程(12CD)
11、java技术从入门到精通视频教程(21CD)
12、javascript全接触视频教程(13CD)
13、各类网站源程序(9CD)
14、unix原理视频教程(3CD)
15、Linux软件开发工程师(C语言)视频教程(4CD)
16、Linux配置、管理、优化实战工程师视频教程(8CD)
17、Linux内核编程视频教程(11CD)
18、C语言详解视频教程(2CD)
19、VC++6.0(MFC)开发技术术详解视频教程(6CD)
20、ASP.NET中文视频教程(3CD)
21、洪恩C#入门多媒体教程(1CD)
22、XML技术视频教程(2CD)
23、操作系统视频教程(3CD)
24、网络技术基础视频教程(2CD)
25、数据结构视频教程(5CD)
26、清华大学计算机专业多媒体教程(数据结构、汇编、编译原理等)(13CD)
27、大学数学[离散数学线性代数概率与数理统计微积分]视频教程(22CD)
28、LearnKey Asp.Net (老外用英语讲课)(13CD)
29、LearnKey Asp.Net Webservice(老外用英语讲课)(5CD)
30、AppDev Asp.Net2.0 UsingC# (老外用英语讲课)(1CD)
31、APPDev .Net Framework(老外用英语讲课)(2CD)
32、林清安pro/e2001(野火版)视频教程(18CD)
33、深圳大学3D设计视频教程(4CD)
34、3DMAX建模视频教程(老外用英语讲课)(6CD)
35、3DMAX纹理与贴图材质灯光视频教程(老外用英语讲课)(5CD)
36、3DMAX格式500个常用模型库(4CD)
37、lightscape基础入门视频教程(2CD)
38、聚光制造(lightscape3.2入门与精通视频教程)(4CD)
39、coreldraw12中文版入门与精通swf格式视频教程(2CD)
 
后退
顶部