• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi开发ASPCOM组件显示图片

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Delphi单元如下:
unit CINNO.Debug;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
  ComObj, ActiveX, Classes, Variants, VarConv, AspTlb, CINNO_TLB, Windows, StdVcl;

type
  TDebug = class(TASPMTSObject, IDebug)
  protected
    procedure Debug; safecall;
  end;

implementation

uses ComServ;

procedure TDebug.Debug;
var
  Bitmap:TBitmap;
  Jpeg:TJPEGImage;
  bWidth,bHeight:Integer;
  MS:TMemoryStream;
  DataPointer:PByte;
  OutputStream:Variant;
  OutputStreamSize:Cardinal;
  Counter:Integer;
begin
  Response.ContentType:='image/jpeg';
  Response.Flush;
  //创建图片
  bWidth:=Screen.Width;
  bHeight:=Screen.Height;
  Bitmap:=TBitmap.Create;
  Bitmap.Width:=bWidth;
  Bitmap.Height:=bHeight;
  Bitmap.PixelFormat:=pf32bit;
  //开始绘图
  Bitmap.Canvas.Pen.Color:=clRed;
  Bitmap.Canvas.Pen.Width:=3;
  Bitmap.Canvas.Brush.Color:=clBlack;
  Bitmap.Canvas.FillRect(Rect(0,0,bWidth-1,bHeight-1));
  Bitmap.Canvas.Pen.Color:=clMoneyGreen;
  Bitmap.Canvas.DrawFocusRect(Rect(0,0,bWidth-1,bHeight-1));
  Bitmap.Canvas.MoveTo(0,0);
  Bitmap.Canvas.Pen.Color:=clCream;
  Bitmap.Canvas.LineTo(bWidth-1,bHeight-1);
  Bitmap.Canvas.Font.Color:=clRed;
  Bitmap.Canvas.Font.Size:=32;
  Bitmap.Canvas.TextOut(800,600,DateTimeToStr(Now()));
  Bitmap.Canvas.Pen.Color:=clWhite;
  Bitmap.Canvas.Pen.Width:=5;
  Bitmap.Canvas.Arc(100,100,200,200,500,500,800,800);
  //转为Jpeg
  Jpeg:=TJPEGImage.Create;
  Jpeg.CompressionQuality:=90;
  Jpeg.Assign(Bitmap);
  //拷贝到安全数组
  MS:=TMemoryStream.Create;
  Jpeg.SaveToStream(MS);
  DataPointer:=MS.Memory;
  OutputStreamSize:=MS.Size;
  OutputStream:=VarArrayCreate([1,OutputStreamSize],varByte);
  for Counter := 1 to OutputStreamSize do
    begin
      VarArrayPut(OutputStream,Byte(DataPointer^),[Counter]);
      Inc(DataPointer);
    end;
  //输出图片
  Response.BinaryWrite(OutputStream);
  Bitmap.Free;
  Jpeg.Free;
  MS.Free;
end;

initialization
  TAutoObjectFactory.Create(ComServer, TDebug, Class_Debug,
    ciMultiInstance, tmApartment);
end.

ASP代码如下:
<%@Language="VBS" CodePage="936"%>
<%
Option Explicit
Dim System,Debug
Set Debug=CreateObject("CINNO.Debug")
Debug.Debug
%>


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB实例:PCA降维发布时间:2022-07-18
下一篇:
matlab 全局变量的使用举例发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap