示例#1
0
        public void make(ref PageArrayBin pageArrayBin, ref SVSerialize serialize)
        {
            UInt32 pageCount  = pageArrayBin.pageCount;
            UInt32 curveCount = pageArrayBin.pageArray[pageCount].iconNum++;

            if (pageArrayBin.pageArray[pageCount].m_icon == null)
            {
                pageArrayBin.pageArray[pageCount].m_icon = new IconBin[SVLimit.PAGE_ICON_MAXNUM];
            }

            IconBin iconBin = pageArrayBin.pageArray[pageCount].m_icon[curveCount];

            iconBin.id      = ID;
            iconBin.rect.sX = (UInt16)Rect.X;
            iconBin.rect.sY = (UInt16)Rect.Y;
            iconBin.rect.eX = (UInt16)(Rect.Width + iconBin.rect.sX - 1);
            iconBin.rect.eY = (UInt16)(Rect.Height + iconBin.rect.sY - 1);

            var address = PicIconData.bitmap8Data(Rect.Width, Rect.Height);

            if (address != null)
            {
                //图标位置
                iconBin.imageOffset = (UInt32)serialize.ToArray().Length;
                serialize.pack(address);
            }

            pageArrayBin.pageArray[pageCount].m_icon[curveCount] = iconBin;
        }
示例#2
0
        /// <summary>
        /// 解析静态图数据并显示
        /// </summary>
        /// <param Name="bin">静态图结构</param>
        /// <param Name="picBuffer">图片数据</param>
        public void fromBin(IconBin bin, byte[] picBuffer)
        {
            ///设置位置和尺寸
            this.Location = new Point(bin.rect.sX, bin.rect.sY);
            this.Width    = bin.rect.eX - bin.rect.sX;
            this.Height   = bin.rect.eY - bin.rect.sY;

            ///设置图片
            SVPixmapFile file = new SVPixmapFile();

            this.BackgroundImage = file.getFromFile(picBuffer, bin.imageOffset);
        }