Example #1
0
        /// <summary>
        /// Encode image fingerprint to wsq file
        /// </summary>
        /// <param name="FileSource">File source (bmp,tiff)</param>
        /// <param name="FileDest">File wsq</param>
        /// <param name="comments">Comments in image</param>
        /// <param name="BitRate">Bit rate</param>
        public void EnconderFile(String FileSource,
                                 String FileDest,
                                 String[] comments,
                                 double BitRate)
        {
            try
            {
                switch (Path.GetExtension(FileSource).ToUpper())
                {
                case ".BMP":
                case ".TIF":
                    break;

                default:
                    throw new ApplicationException("Error: FileSource extension no supported");
                }

                if (Path.GetExtension(FileDest).ToUpper().Replace(".", "") != "WSQ")
                {
                    throw new ApplicationException("Error: FileDest extension no supported");
                }

                Bitmap bm = null;
                System.Drawing.Image img = null;
                byte[] fileData;

                Wsqm.cBitmap    bitmap;
                Wsqm.DataOutput data;
                BitmapSource    bitmapSource;

                switch (Path.GetExtension(FileSource).ToUpper())
                {
                case ".BMP":
                    img = System.Drawing.Image.FromFile(FileSource);
                    bm  = new Bitmap(img);


                    Uri myUri = new Uri(FileSource, UriKind.RelativeOrAbsolute);
                    BmpBitmapDecoder decoder2 = new BmpBitmapDecoder(myUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
                    bitmapSource = decoder2.Frames[0];


                    fileData = GetBytesFromBitmapSource(bitmapSource);

                    bitmap = new Wsqm.cBitmap(fileData,
                                              bm.Width,
                                              bm.Height, 500, 8, 1);

                    data             = new Wsqm.DataOutput();
                    data.RutaDestino = FileDest;

                    _EncoderWSQ.encode(data, bitmap, BitRate, comments);


                    img.Dispose();

                    break;

                case ".TIF":
                    img = System.Drawing.Image.FromFile(FileSource);
                    bm  = new Bitmap(img);


                    Stream            imageStreamSource = new FileStream(FileSource, FileMode.Open, FileAccess.Read, FileShare.Read);
                    TiffBitmapDecoder decoder           = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
                    bitmapSource = decoder.Frames[0];


                    fileData = GetBytesFromBitmapSource(bitmapSource);

                    bitmap = new Wsqm.cBitmap(fileData,
                                              bm.Width,
                                              bm.Height, 500, 8, 1);

                    data             = new Wsqm.DataOutput();
                    data.RutaDestino = FileDest;
                    _EncoderWSQ.encode(data, bitmap, BitRate, comments);


                    img.Dispose();
                    imageStreamSource.Dispose();
                    break;
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
Example #2
0
File: WSQ.cs Project: eliudiaz/wsq
        /// <summary>
        /// Encode image fingerprint to wsq file
        /// </summary>
        /// <param name="FileSource">File source (bmp,tiff)</param>
        /// <param name="FileDest">File wsq</param>
        /// <param name="comments">Comments in image</param>
        /// <param name="BitRate">Bit rate</param>
        public void EnconderFile(String FileSource, 
                                String FileDest, 
                                String[] comments, 
                                double BitRate)
        {
            try
            {
                switch (Path.GetExtension(FileSource).ToUpper())
                {
                    case ".BMP":
                    case ".TIF":
                        break;
                    default:
                        throw new ApplicationException("Error: FileSource extension no supported");

                }

                if (Path.GetExtension(FileDest).ToUpper().Replace(".", "") != "WSQ")
                {
                    throw new ApplicationException("Error: FileDest extension no supported");
                }

                Bitmap bm = null;
                System.Drawing.Image img = null;
                byte[] fileData;

                Wsqm.cBitmap bitmap;
                Wsqm.DataOutput data;
                BitmapSource bitmapSource;

                switch (Path.GetExtension(FileSource).ToUpper())
                {
                    case ".BMP":
                        img = System.Drawing.Image.FromFile(FileSource);
                        bm = new Bitmap(img);

                        Uri myUri = new Uri(FileSource, UriKind.RelativeOrAbsolute);
                        BmpBitmapDecoder decoder2 = new BmpBitmapDecoder(myUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
                        bitmapSource = decoder2.Frames[0];

                        fileData = GetBytesFromBitmapSource(bitmapSource);

                        bitmap = new Wsqm.cBitmap(fileData,
                                bm.Width,
                                bm.Height, 500, 8, 1);

                        data = new Wsqm.DataOutput();
                        data.RutaDestino = FileDest;

                        _EncoderWSQ.encode(data, bitmap, BitRate, comments);

                        img.Dispose();

                        break;
                    case ".TIF":
                        img = System.Drawing.Image.FromFile(FileSource);
                        bm = new Bitmap(img);

                        Stream imageStreamSource = new FileStream(FileSource, FileMode.Open, FileAccess.Read, FileShare.Read);
                        TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
                        bitmapSource = decoder.Frames[0];

                        fileData = GetBytesFromBitmapSource(bitmapSource);

                        bitmap = new Wsqm.cBitmap(fileData,
                                bm.Width,
                                bm.Height, 500, 8, 1);

                        data = new Wsqm.DataOutput();
                        data.RutaDestino = FileDest;
                        _EncoderWSQ.encode(data, bitmap, BitRate, comments);

                        img.Dispose();
                        imageStreamSource.Dispose();
                        break;

                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }