Пример #1
0
        public static BitmapImage GetKFBThumnail(string path)
        {
            BitmapImage bitmapImage = new BitmapImage();

            try
            {
                DllImageFuc dllImageFuc = new DllImageFuc();
                IntPtr      datas       = IntPtr.Zero;
                int         b           = 0;
                int         c           = 0;
                int         a           = 0;
                dllImageFuc.CkGetThumnailImagePathFunc(path, out datas, ref a, ref b, ref c);
                byte[] array = new byte[a];
                if (datas != IntPtr.Zero)
                {
                    Marshal.Copy(datas, array, 0, a);
                }
                DllImageFuc.DeleteImageDataFunc(datas);
                MemoryStream ss = new MemoryStream(array);
                bitmapImage.BeginInit();
                bitmapImage.CreateOptions = BitmapCreateOptions.PreservePixelFormat;
                bitmapImage.CacheOption   = BitmapCacheOption.None;
                bitmapImage.StreamSource  = ReizeImage(ss, 20.0);
                bitmapImage.EndInit();
                bitmapImage.Freeze();
                return(bitmapImage);
            }
            catch
            {
                return(bitmapImage);
            }
        }
Пример #2
0
        public void GetChPdf(string templatePath, string newFilePath, Dictionary <string, string> parameters)
        {
            PdfReader  pdfReader  = new PdfReader(templatePath);
            PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFilePath, FileMode.Create));
            AcroFields acroFields = pdfStamper.AcroFields;
            BaseFont   value      = BaseFont.CreateFont("C:\\Windows\\Fonts\\simsun.ttc,0", "Identity-H", true);

            foreach (KeyValuePair <string, string> parameter in parameters)
            {
                acroFields.SetFieldProperty(parameter.Key, "textfont", value, null);
                acroFields.SetField(parameter.Key, parameter.Value);
            }
            for (int i = 0; i < CheckList.Count; i++)
            {
                int nDataLength = 0;
                DllImageFuc.GetImageDataRoiFunc(InfoStruct, SlideZoom, CheckList[i].GlobalPosX, CheckList[i].GlobalPosY, CheckList[i].Width, CheckList[i].Height, out IntPtr datas, ref nDataLength, true);
                byte[] array = new byte[nDataLength];
                if (datas != IntPtr.Zero)
                {
                    Marshal.Copy(datas, array, 0, nDataLength);
                }
                DllImageFuc.DeleteImageDataFunc(datas);
                iTextSharp.text.Image instance = iTextSharp.text.Image.GetInstance(array);
                instance.ScaleAbsoluteWidth(40f);
                instance.ScaleAbsoluteHeight(40f);
                instance.SetAbsolutePosition(40 + i * 50 + 10, 400f);
                PdfContentByte overContent = pdfStamper.GetOverContent(1);
                overContent.AddImage(instance);
            }
            pdfStamper.FormFlattening = true;
            pdfStamper.Close();
            pdfReader.Close();
        }
Пример #3
0
        public static BitmapImage GetKFBPreView(string path)
        {
            IntPtr datas = IntPtr.Zero;
            int    b     = 0;
            int    c     = 0;
            int    a     = 0;

            DllImageFuc.GetPriviewInfoPathFunc(path, out datas, ref a, ref b, ref c);
            byte[] array = new byte[a];
            if (datas != IntPtr.Zero)
            {
                Marshal.Copy(datas, array, 0, a);
            }
            DllImageFuc.DeleteImageDataFunc(datas);
            MemoryStream streamSource = new MemoryStream(array);
            BitmapImage  bitmapImage  = new BitmapImage();

            bitmapImage.BeginInit();
            bitmapImage.CreateOptions = BitmapCreateOptions.PreservePixelFormat;
            bitmapImage.CacheOption   = BitmapCacheOption.None;
            bitmapImage.StreamSource  = streamSource;
            bitmapImage.EndInit();
            bitmapImage.Freeze();
            return(bitmapImage);
        }
Пример #4
0
 public Stream LoadImage(int KfbioAddress, int Level, int posx, int posy)
 {
     try
     {
         MemoryStream      result      = null;
         int               nDataLength = 0;
         IMAGE_INFO_STRUCT k           = default(IMAGE_INFO_STRUCT);
         k.DataFilePTR = KfbioAddress;
         int   num    = Math.Max(width, height);
         int   num2   = IsInteger((Math.Log(num) / Math.Log(2.0)).ToString()) ? ((int)(Math.Log(num) / Math.Log(2.0))) : ((int)(Math.Log(num) / Math.Log(2.0)) + 1);
         float fScale = (num2 != Level) ? (Xzoom / (float)Math.Pow(2.0, num2 - Level)) : Xzoom;
         try
         {
             IntPtr datas;
             if (!isopenhsl)
             {
                 DllImageFuc.GetImageStreamFunc(ref k, fScale, posx * TileWidth, posy * TileWidth, ref nDataLength, out datas);
             }
             else
             {
                 DllImageFuc.GetHSVImage(ref k, fScale, posx * TileWidth, posy * TileWidth, ref nDataLength, out datas, S_shift, V_shift, b, b_r, b_h, r, r_r, r_h, dbd, sp);
             }
             byte[] array = new byte[nDataLength];
             if (datas != IntPtr.Zero)
             {
                 Marshal.Copy(datas, array, 0, nDataLength);
             }
             DllImageFuc.DeleteImageDataFunc(datas);
             result = new MemoryStream(array);
         }
         catch (Exception ex)
         {
             Console.WriteLine("zz" + ex.ToString() + nDataLength);
         }
         return(result);
     }
     catch (FileNotFoundException)
     {
     }
     catch (FileFormatException)
     {
     }
     return(null);
 }