Exemple #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(null, null, IsPostBack, LogSitePageType.WizardSpezial);

            objectId = Request.QueryString["OID"];

            dataObject = DataObject.Load <DataObject>(objectId.ToGuid(), null, false);

            string imageUrl = dataObject.GetImage(PictureVersion.A);

            archivedFilename = System.Configuration.ConfigurationManager.AppSettings["ConverterRootPathMedia"] + imageUrl.Replace("/", "\\");
            imageUrl         = _4screen.CSB.Common.SiteConfig.MediaDomainName + imageUrl;
            Helper.SetActions(Helper.GetPictureFormatFromFilename(archivedFilename), dataObject.ObjectType, out actionProfileCropCheckAndArchive, out actionProfileResizeLarge, out actionProfileResizeMedium, out actionProfileResizeSmall, out actionProfileResizeExtraSmall, out actionProfileCrop, new Dictionary <PictureVersion, PictureFormat>());

            if (!IsPostBack)
            {
                _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], dataObject.UserID.Value.ToString(), objectId, true, Server.MapPath("/Configurations"));
                imageHandler.DoConvert(archivedFilename, actionProfileCropCheckAndArchive, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);

                int originalImageHeight    = imageHandler.ImageInfo.Height;
                int originalImageWidth     = imageHandler.ImageInfo.Width;
                int maxVisualWidthOrHeight = imageHandler.GetMaxVisualWidthOrHeight(actionProfileCropCheckAndArchive);

                ViewState["ImageWidth"]  = originalImageWidth;
                ViewState["ImageHeight"] = originalImageHeight;
                ViewState["MaxSize"]     = maxVisualWidthOrHeight;

                if (originalImageHeight > originalImageWidth && originalImageHeight > maxVisualWidthOrHeight)
                {
                    Crop.CroppedImageHeight = maxVisualWidthOrHeight;
                    Crop.CroppedImageWidth  = (int)((float)maxVisualWidthOrHeight * (float)originalImageWidth / (float)originalImageHeight);
                }
                else if (originalImageHeight < originalImageWidth && originalImageWidth > maxVisualWidthOrHeight)
                {
                    Crop.CroppedImageHeight = (int)((float)maxVisualWidthOrHeight * (float)originalImageHeight / (float)originalImageWidth);
                    Crop.CroppedImageWidth  = maxVisualWidthOrHeight;
                }
                else if (originalImageWidth > maxVisualWidthOrHeight)
                {
                    Crop.CroppedImageHeight = maxVisualWidthOrHeight;
                    Crop.CroppedImageWidth  = maxVisualWidthOrHeight;
                }
                else
                {
                    Crop.CroppedImageHeight = originalImageHeight;
                    Crop.CroppedImageWidth  = originalImageWidth;
                }
                Crop.AllowQualityLoss = true;

                FileStream stream = File.Open(archivedFilename, FileMode.Open);
                byte[]     buffer = new byte[stream.Length];
                stream.Read(buffer, 0, buffer.Length);
                stream.Dispose();
                Crop.SourceImage = buffer;
            }
        }
Exemple #2
0
        public static bool GetImage(WebServiceLogEntry log, string url, int objectType, Guid userID, string imageName, out int width, out int height, out decimal aspectRatio)
        {
            log.FilesToDownload++;

            width       = 0;
            height      = 0;
            aspectRatio = 1.0m;

            try
            {
                string uploadPath = string.Format(@"{0}\{1}\P", ConfigurationManager.AppSettings["ConverterRootPathUpload"], userID.ToString());
                if (!Directory.Exists(uploadPath))
                {
                    Directory.CreateDirectory(uploadPath);
                }

                string fileExtension = string.Empty;
                Match  match         = Regex.Match(url, @"\.(jpeg|jpg|gif|png)$", RegexOptions.IgnoreCase);
                if (match.Success)
                {
                    fileExtension = match.Groups[1].Captures[0].Value;
                }
                if (!string.IsNullOrEmpty(fileExtension))
                {
                    string imageID = Guid.NewGuid().ToString();
                    string filenameUploadOriginal = string.Format(@"{0}\{1}.{2}", uploadPath, imageID, fileExtension);

                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                    Http.DownloadFile(request, filenameUploadOriginal);

                    FileInfo assembly = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location);
                    _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(ConfigurationManager.AppSettings["MediaDomainName"], ConfigurationManager.AppSettings["ConverterRootPath"], userID.ToString(), imageName, true, assembly.DirectoryName + "/Configurations/");

                    imageHandler.DoConvert(filenameUploadOriginal, "ExtraSmallCroppedJpg", _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imageHandler.DoConvert(filenameUploadOriginal, "SmallCroppedJpg", _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imageHandler.DoConvert(filenameUploadOriginal, "LargeResizedJpg", _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    width  = imageHandler.ImageInfo.Width;
                    height = imageHandler.ImageInfo.Height;
                    if (height > 0)
                    {
                        aspectRatio = Math.Round((decimal)width / (decimal)height, 3);
                    }
                    imageHandler.DoConvert(filenameUploadOriginal, "CopyArchive", _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);

                    return(true);
                }
            }
            catch (Exception e)
            {
                log.Message += string.Format("URL={0},Error={1},", url, e.Message.Replace("\r\n", " "));
                return(false);
            }
            return(false);
        }
Exemple #3
0
        private void HandleID3Tags(string mp3File, DataObjectAudio audio)
        {
            try
            {
                TagLib.File tagInfo = TagLib.File.Create(mp3File);
                if (!string.IsNullOrEmpty(tagInfo.Tag.FirstPerformer))
                {
                    audio.Interpreter = tagInfo.Tag.FirstPerformer;
                }
                if (!string.IsNullOrEmpty(tagInfo.Tag.Album))
                {
                    audio.Album = tagInfo.Tag.Album;
                }
                if (!string.IsNullOrEmpty(tagInfo.Tag.Title))
                {
                    audio.Title = tagInfo.Tag.Title;
                }
                if (!string.IsNullOrEmpty(tagInfo.Tag.FirstGenre))
                {
                    audio.Genere = tagInfo.Tag.FirstGenre;
                }
                if (tagInfo.Tag.Pictures.Count() > 0)
                {
                    Stream streamPic    = new MemoryStream(tagInfo.Tag.Pictures[0].Data.Data, false);
                    string uploadFolder = string.Format(@"{0}\{1}\{2}", System.Configuration.ConfigurationManager.AppSettings["ConverterRootPathUpload"], UserProfile.Current.UserId.ToString(), Helper.GetMediaFolder(Helper.GetObjectTypeNumericID("Picture")));
                    string imageFile    = string.Format(@"{0}\{1}.jpg", uploadFolder, audio.ObjectID);
                    _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], UserProfile.Current.UserId.ToString(), audio.ObjectID.Value.ToString(), false, Server.MapPath("/Configurations"));
                    imageHandler.SaveStreamToJpeg(streamPic, imageFile);
                    if (File.Exists(imageFile))
                    {
                        Helper.SetActions(Helper.GetPictureFormatFromFilename(imageFile), audio.ObjectType, out saveOriginalAction, out saveLargeAction, out saveMediumAction, out saveSmallAction, out saveExtraSmallAction, out saveCropAction, imageTypes);

                        imageHandler.DoConvert(imageFile, saveOriginalAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                        string originalImagePath = imageHandler.TargetImage;

                        imageHandler.DoConvert(originalImagePath, saveLargeAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                        if (saveMediumAction != null)
                        {
                            imageHandler.DoConvert(originalImagePath, saveMediumAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                        }
                        imageHandler.DoConvert(originalImagePath, saveSmallAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                        imageHandler.DoConvert(originalImagePath, saveExtraSmallAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);

                        audio.Image = imageHandler.ImageName;
                        foreach (var imageType in imageTypes)
                        {
                            audio.SetImageType(imageType.Key, imageType.Value);
                        }
                    }
                }
            }
            catch { }
        }
Exemple #4
0
        protected void OnCropClick(object sender, EventArgs e)
        {
            _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], dataObject.UserID.Value.ToString(), objectId, false, Server.MapPath("/Configurations"));

            int   imageWidth             = int.Parse(ViewState["ImageWidth"].ToString());
            int   imageHeight            = int.Parse(ViewState["ImageHeight"].ToString());
            float maxVisualWidthOrHeight = float.Parse(ViewState["MaxSize"].ToString());
            float scaleFactor            = 1f;

            if (imageWidth > imageHeight && imageWidth > maxVisualWidthOrHeight)
            {
                scaleFactor = (float)imageWidth / maxVisualWidthOrHeight;
            }
            else if (imageHeight >= imageWidth && imageHeight > maxVisualWidthOrHeight)
            {
                scaleFactor = (float)imageHeight / maxVisualWidthOrHeight;
            }
            string[] cropCoords = Request.Form[this.Crop.UniqueID + "$cords"].Split(';');

            imageHandler.SetCropLeft      = Convert.ToInt32(cropCoords[0]);
            imageHandler.SetCropTop       = Convert.ToInt32(cropCoords[1]);
            imageHandler.SetCropWidth     = Convert.ToInt32(cropCoords[2]) + Convert.ToInt32(cropCoords[0]);
            imageHandler.SetCropHeight    = Convert.ToInt32(cropCoords[3]) + Convert.ToInt32(cropCoords[1]);
            imageHandler.VisualCropFactor = scaleFactor;

            imageHandler.DoConvert(archivedFilename, actionProfileCrop, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);

            string croppedFilname = imageHandler.TargetImage;

            imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], dataObject.UserID.Value.ToString(), string.Empty, false, Server.MapPath("/Configurations"));
            imageHandler.DoConvert(croppedFilname, actionProfileResizeExtraSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
            imageHandler.DoConvert(croppedFilname, actionProfileResizeSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
            if (actionProfileResizeMedium != null)
            {
                imageHandler.DoConvert(croppedFilname, actionProfileResizeMedium, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
            }

            if (!string.IsNullOrEmpty(Request.QueryString["ParentRadWin"]))
            {
                LitScript.Text = string.Format("<script language=\"javascript\">$telerik.$(function() {{ RefreshRadWindow('{0}');CloseWindow(); }} );</script>", Request.QueryString["ParentRadWin"]);
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["ReturnURL"]))
            {
                LitScript.Text = string.Format("<script language=\"javascript\">$telerik.$(function() {{ RedirectParentPage('{0}');CloseWindow(); }} );</script>", Request.QueryString["ReturnURL"]);
            }
            else
            {
                LitScript.Text = string.Format("<script language=\"javascript\">$telerik.$(function() {{ RefreshParentPage();CloseWindow(); }} );</script>");
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Callback = Request.QueryString["Callback"];

            _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(null, null, IsPostBack, LogSitePageType.WizardSpezial);

            if (!string.IsNullOrEmpty(Request.QueryString["CN"]))
            {
                folderId = Request.QueryString["CN"];
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["UI"]))
            {
                folderId = Request.QueryString["UI"];
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["ParentId"]))
            {
                folderId = Request.QueryString["ParentId"];
            }

            if (RadUpload.UploadedFiles.Count > 0)
            {
                _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], folderId, null, true, Server.MapPath("/Configurations"));

                Telerik.Web.UI.UploadedFile uploadedFile = RadUpload.UploadedFiles[0];
                string originalExtension = uploadedFile.GetName().Substring(uploadedFile.GetName().LastIndexOf('.'));
                string archiveFolder     = string.Format(@"{0}\{1}\BG\{2}", System.Configuration.ConfigurationManager.AppSettings["ConverterRootPathMedia"], folderId, PictureVersion.A);
                if (!Directory.Exists(archiveFolder))
                {
                    Directory.CreateDirectory(archiveFolder);
                }
                string archiveFilename = string.Format(@"{0}\{1}{2}", archiveFolder, imageHandler.ImageName, originalExtension);
                uploadedFile.SaveAs(archiveFilename);

                imageHandler.DoConvert(archiveFilename, actionProfileResizeLarge, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                imageHandler.DoConvert(archiveFilename, actionProfileResizeExtraSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
            }

            LoadPictures();
        }
Exemple #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Guid?           uploadSession   = null;
            string          tagWords        = null;
            ObjectStatus?   objectStatus    = null;
            ObjectShowState?objectShowState = null;
            FriendType?     friendType      = null;
            int?            copyright       = null;
            double          geoLat          = double.MinValue;
            double          geoLong         = double.MinValue;
            string          geoZip          = null;
            string          geoCity         = null;
            string          geoStreet       = null;
            string          geoCountry      = null;

            if (!string.IsNullOrEmpty(Request.QueryString["UploadSession"]))
            {
                uploadSession = Request.QueryString["UploadSession"].ToGuid();
            }
            if (!string.IsNullOrEmpty(Request.QueryString["TG"]))
            {
                tagWords = Server.UrlDecode(Request.QueryString["TG"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["OS"]))
            {
                objectStatus = (ObjectStatus)int.Parse(Request.QueryString["OS"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["SS"]))
            {
                objectShowState = (ObjectShowState)int.Parse(Request.QueryString["SS"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["FT"]))
            {
                friendType = (FriendType)int.Parse(Request.QueryString["FT"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CR"]))
            {
                copyright = int.Parse(Request.QueryString["CR"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["GC"]))
            {
                string[] geoLatLong = Request.QueryString["GC"].Split(',');
                if (geoLatLong.Length == 2)
                {
                    double.TryParse(geoLatLong[0], out geoLat);
                    double.TryParse(geoLatLong[1], out geoLong);
                }
            }
            if (!string.IsNullOrEmpty(Request.QueryString["ZP"]))
            {
                geoZip = Server.UrlDecode(Request.QueryString["ZP"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CI"]))
            {
                geoCity = Server.UrlDecode(Request.QueryString["CI"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["RE"]))
            {
                geoStreet = Server.UrlDecode(Request.QueryString["RE"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CO"]))
            {
                geoCountry = Server.UrlDecode(Request.QueryString["CO"]);
            }

            picture = DataObject.Load <DataObjectPicture>(ObjectID, null, true);

            if (picture.State != ObjectState.Added) // Changing an existing object
            {
                if (tagWords != null)
                {
                    picture.TagList = tagWords;
                }
                if (objectStatus.HasValue)
                {
                    picture.Status = objectStatus.Value;
                }
                if (objectShowState.HasValue)
                {
                    picture.ShowState = objectShowState.Value;
                }
                if (friendType.HasValue)
                {
                    picture.FriendVisibility = friendType.Value;
                }
                if (copyright.HasValue)
                {
                    picture.Copyright = copyright.Value;
                }
                if (uploadSession != null)
                {
                    picture.GroupID = uploadSession;
                }
                if (geoLat != double.MinValue)
                {
                    picture.Geo_Lat = geoLat;
                }
                if (geoLong != double.MinValue)
                {
                    picture.Geo_Long = geoLong;
                }
                if (geoZip != null)
                {
                    picture.Zip = geoZip;
                }
                if (geoCity != null)
                {
                    picture.City = geoCity;
                }
                if (geoStreet != null)
                {
                    picture.Street = geoStreet;
                }
                if (geoCountry != null)
                {
                    picture.CountryCode = geoCountry;
                }

                // Don't save yet - save on SaveStep()

                FillEditForm();
            }
            else if (uploadSession.HasValue) // Creating an new object
            {
                try
                {
                    string cutFileName = FileInfo.Name.Substring(32);
                    picture.ObjectID    = Guid.NewGuid();
                    picture.Title       = cutFileName.Substring(0, cutFileName.LastIndexOf(".")).Replace("_", " ").CropString(100);
                    picture.CommunityID = CommunityID;
                    if (tagWords != null)
                    {
                        picture.TagList = tagWords;
                    }
                    if (objectStatus.HasValue)
                    {
                        picture.Status = objectStatus.Value;
                    }
                    if (objectShowState.HasValue)
                    {
                        picture.ShowState = objectShowState.Value;
                    }
                    if (friendType.HasValue)
                    {
                        picture.FriendVisibility = friendType.Value;
                    }
                    if (copyright.HasValue)
                    {
                        picture.Copyright = copyright.Value;
                    }
                    if (uploadSession != null)
                    {
                        picture.GroupID = uploadSession;
                    }
                    if (geoLat != double.MinValue)
                    {
                        picture.Geo_Lat = geoLat;
                    }
                    if (geoLong != double.MinValue)
                    {
                        picture.Geo_Long = geoLong;
                    }
                    if (geoZip != null)
                    {
                        picture.Zip = geoZip;
                    }
                    if (geoCity != null)
                    {
                        picture.City = geoCity;
                    }
                    if (geoStreet != null)
                    {
                        picture.Street = geoStreet;
                    }
                    if (geoCountry != null)
                    {
                        picture.CountryCode = geoCountry;
                    }

                    _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], UserProfile.Current.UserId.ToString(), picture.ObjectID.Value.ToString(), false, Server.MapPath("/Configurations"));
                    Helper.SetActions(Helper.GetPictureFormatFromFilename(FileInfo.Name), picture.ObjectType, out saveOriginalAction, out saveLargeAction, out saveMediumAction, out saveSmallAction, out saveExtraSmallAction, out saveCropAction, imageTypes);

                    imageHandler.DoConvert(FileInfo.FullName, saveOriginalAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    string originalImagePath = imageHandler.TargetImage;

                    imageHandler.DoConvert(originalImagePath, saveLargeAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    picture.SizeByte = imageHandler.ImageInfo.SizeDisk;
                    picture.Width    = imageHandler.ImageInfo.Width;
                    picture.Height   = imageHandler.ImageInfo.Height;

                    if (saveMediumAction != null)
                    {
                        imageHandler.DoConvert(originalImagePath, saveMediumAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    }
                    imageHandler.DoConvert(originalImagePath, saveSmallAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imageHandler.DoConvert(originalImagePath, saveExtraSmallAction, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);

                    picture.Image = imageHandler.ImageName;
                    foreach (var imageType in imageTypes)
                    {
                        picture.SetImageType(imageType.Key, imageType.Value);
                    }

                    if (picture.Height > 0)
                    {
                        picture.AspectRatio = Math.Round((decimal)picture.Width / (decimal)picture.Height, 3);
                    }

                    picture.Insert(UserDataContext.GetUserDataContext());

                    FillEditForm();
                }
                catch (Exception ex)
                {
                    this.LitMsg.Text = string.Format("{0}: ", language.GetString("MessageSaveError")) + ex.Message;
                }
            }
        }
Exemple #7
0
        private void GenerateThumbNails(DataObjectVideo video, string format, VideoVersion videoVersion)
        {
            FileInfo  sourceVideoFileInfo = new FileInfo(video.OriginalLocation);
            VideoInfo encodedVideoInfo    = new VideoInfo();

            MediaHandler mediaHandler = new MediaHandler();

            mediaHandler.FFMPEGPath = ffmpegExecutable;
            mediaHandler.InputPath  = sourceVideoFileInfo.DirectoryName;
            mediaHandler.OutputPath = temporaryConversionFolder;
            mediaHandler.FileName   = sourceVideoFileInfo.Name;


            mediaHandler.OutputFileName = string.Format("{2}{0}.{1}", video.ObjectID, format, videoVersion);
            VideoInfo sourceVideoInfo = mediaHandler.Get_Info();

            MediaHandler thumbnailMediaHandler = new MediaHandler();

            thumbnailMediaHandler.FFMPEGPath   = ffmpegExecutable;
            thumbnailMediaHandler.InputPath    = temporaryConversionFolder;
            thumbnailMediaHandler.OutputPath   = temporaryConversionFolder;
            thumbnailMediaHandler.FileName     = string.Format("{2}{0}.{1}", video.ObjectID, format, videoVersion);
            thumbnailMediaHandler.Image_Format = "jpg";

            // The exit process timeout probably doesn't work
            if (maxThumbnailGenerationTime.HasValue)
            {
                thumbnailMediaHandler.ExitProcess = maxThumbnailGenerationTime.Value;
            }

            if (generateMultipleThumbnails) // TODO: Check how many files have been written
            {
                thumbnailMediaHandler.Multiple_Thumbs      = true;
                thumbnailMediaHandler.ImageName            = video.ObjectID + "_";
                thumbnailMediaHandler.Auto_Transition_Time = true;
                thumbnailMediaHandler.No_Of_Thumbs         = numberThumbnails.Value;
                thumbnailMediaHandler.Thumb_Start_Position = (int)(sourceVideoInfo.Duration_Sec / numberThumbnails);
            }
            else
            {
                thumbnailMediaHandler.ImageName = video.ObjectID.ToString();
                TimeSpan frameTime;
                if (video.VideoPreviewPictureTimepointSec > 0 && video.VideoPreviewPictureTimepointSec < sourceVideoInfo.Duration_Sec)
                {
                    frameTime = new TimeSpan(0, 0, (int)(video.VideoPreviewPictureTimepointSec));
                }
                else
                {
                    frameTime = new TimeSpan(0, 0, (int)(sourceVideoInfo.Duration_Sec * 0.3));
                }
                thumbnailMediaHandler.Frame_Time = frameTime.ToString();
            }

            VideoInfo thumbnailInfo = thumbnailMediaHandler.Grab_Thumb();

            if (thumbnailInfo.ErrorCode == 0)
            {
                string videoThumbnail = string.Format(@"{0}\{1}.jpg", temporaryConversionFolder, video.ObjectID);
                _4screen.CSB.ImageHandler.Business.ImageHandler imgHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(ConfigurationManager.AppSettings["MediaDomainName"], ConfigurationManager.AppSettings["ConverterRootPath"], video.UserID.ToString(), video.ObjectID.ToString(), true, Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\configurations");

                Size largePreview = new Size();
                try
                {
                    imgHandler.DoConvert(videoThumbnail, "ExtraSmallJpg", _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imgHandler.DoConvert(videoThumbnail, "SmallJpg", _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imgHandler.DoConvert(videoThumbnail, "MediumJpg", _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imgHandler.DoConvert(videoThumbnail, "LargeJpg", _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    largePreview.Width  = imgHandler.ImageInfo.Width;
                    largePreview.Height = imgHandler.ImageInfo.Height;
                }
                catch (Exception e)
                {
                    EventLog.WriteEntry("CSBooster Video Encoding Error - generate Thumnails: " + e.Message + " " + e.StackTrace, System.Diagnostics.EventLogEntryType.Warning);
                }

                string encodedVideoFile = string.Format(@"{0}\{3}{1}.{2}", temporaryConversionFolder, video.ObjectID, format, videoVersion);

                if (archiveUpload)
                {
                    UploadToArchiveFolder(sourceVideoFileInfo.FullName, video.ObjectID.Value, video.UserID.Value);
                }

                UpdateDataObject(video, sourceVideoInfo, largePreview, format, videoVersion);

                DeleteFile(videoThumbnail);
                DeleteFile(encodedVideoFile);
                if (watermarkFileInfo != null)
                {
                    DeleteFile(watermarkFileInfo.FullName);
                }
            }
            else
            {
                throw new Exception("Video thumbnail generation failed: Error code " + thumbnailInfo.ErrorCode + " " + thumbnailInfo.ErrorMessage);
            }
        }
Exemple #8
0
        protected void OnSaveClick(object sender, EventArgs e)
        {
            LinkButton      lbtn = (LinkButton)sender;
            UserDataContext udc  = UserDataContext.GetUserDataContext();

            if (ViewState["sourceImg"] != null && ViewState["sourceImg"].ToString().Length > 0)
            {
                string archivedFilename = ViewState["sourceImg"].ToString();

                if (!string.IsNullOrEmpty(Request.QueryString["TemplateID"]))
                {
                    Guid templateId = Request.QueryString["TemplateID"].ToGuid();
                    template = DataObject.Load <DataObject>(templateId, null, false);
                }
                if (template != null && template.State != ObjectState.Added)
                {
                    Helper.SetActions(Helper.GetPictureFormatFromFilename(archivedFilename), template.ObjectType, out actionProfileCropCheckAndArchive, out actionProfileResizeLarge, out actionProfileResizeMedium, out actionProfileResizeSmall, out actionProfileResizeExtraSmall, out actionProfileCrop, imageTypes);
                }
                else
                {
                    Helper.SetActions(Helper.GetPictureFormatFromFilename(archivedFilename), dataObject.ObjectType, out actionProfileCropCheckAndArchive, out actionProfileResizeLarge, out actionProfileResizeMedium, out actionProfileResizeSmall, out actionProfileResizeExtraSmall, out actionProfileCrop, imageTypes);
                }


                int   imageWidth             = int.Parse(ViewState["ImageWidth"].ToString());
                int   imageHeight            = int.Parse(ViewState["ImageHeight"].ToString());
                float maxVisualWidthOrHeight = float.Parse(ViewState["MaxSize"].ToString());
                float scaleFactor            = 1f;
                if (imageWidth > imageHeight && imageWidth > maxVisualWidthOrHeight)
                {
                    scaleFactor = (float)imageWidth / maxVisualWidthOrHeight;
                }
                else if (imageHeight >= imageWidth && imageHeight > maxVisualWidthOrHeight)
                {
                    scaleFactor = (float)imageHeight / maxVisualWidthOrHeight;
                }
                string[] cropCoords = Request.Form[this.Crop.UniqueID + "$cords"].Split(';');

                if (cropCoords.Length == 4)
                {
                    _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], dataObject.UserID.ToString(), string.Empty, false, Server.MapPath("/Configurations"));
                    imageHandler.SetCropLeft      = Convert.ToInt32(cropCoords[0]);
                    imageHandler.SetCropTop       = Convert.ToInt32(cropCoords[1]);
                    imageHandler.SetCropWidth     = Convert.ToInt32(cropCoords[2]) + Convert.ToInt32(cropCoords[0]);
                    imageHandler.SetCropHeight    = Convert.ToInt32(cropCoords[3]) + Convert.ToInt32(cropCoords[1]);
                    imageHandler.VisualCropFactor = scaleFactor;
                    imageHandler.DoConvert(archivedFilename, actionProfileCrop, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    string croppedFilname = imageHandler.TargetImage;
                    imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], dataObject.UserID.ToString(), string.Empty, false, Server.MapPath("/Configurations"));
                    imageHandler.DoConvert(croppedFilname, actionProfileResizeExtraSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imageHandler.DoConvert(croppedFilname, actionProfileResizeSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    if (actionProfileResizeMedium != null)
                    {
                        imageHandler.DoConvert(croppedFilname, actionProfileResizeMedium, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    }
                    SaveDataObject(imageHandler.ImageName);
                }
                else
                {
                    _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], dataObject.UserID.ToString(), string.Empty, false, Server.MapPath("/Configurations"));
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeExtraSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    if (actionProfileResizeMedium != null)
                    {
                        imageHandler.DoConvert(archivedFilename, actionProfileResizeMedium, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    }
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeLarge, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    SaveDataObject(imageHandler.ImageName);
                }

                if (!string.IsNullOrEmpty(Request.QueryString["ParentRadWin"]))
                {
                    litScript.Text = string.Format("<script language=\"javascript\">$telerik.$(function() {{ RefreshRadWindow('{0}');CloseWindow(); }} );</script>", Request.QueryString["ParentRadWin"]);
                }
                else if (!string.IsNullOrEmpty(Request.QueryString["ReturnURL"]))
                {
                    litScript.Text = string.Format("<script language=\"javascript\">$telerik.$(function() {{ RedirectParentPage('{0}');CloseWindow(); }} );</script>", Encoding.ASCII.GetString(Convert.FromBase64String(Request.QueryString["ReturnURL"])));
                }
                else
                {
                    litScript.Text = string.Format("<script language=\"javascript\">$telerik.$(function() {{ RefreshParentPage(true);CloseWindow(); }} );</script>");
                }
            }
        }
Exemple #9
0
        private void BindValidResults()
        {
            _4screen.CSB.ImageHandler.Business.ImageHandler imageHandler = new _4screen.CSB.ImageHandler.Business.ImageHandler(_4screen.CSB.Common.SiteConfig.MediaDomainName, ConfigurationManager.AppSettings["ConverterRootPath"], dataObject.UserID.ToString(), objectId.ToString(), true, Server.MapPath("/Configurations"));

            if (RadUpload1.UploadedFiles.Count > 0)
            {
                pnlUploadFinish.Visible = false;
                Telerik.Web.UI.UploadedFile uploadedFile = RadUpload1.UploadedFiles[0];
                if (!string.IsNullOrEmpty(Request.QueryString["TemplateID"]))
                {
                    Guid templateId = Request.QueryString["TemplateID"].ToGuid();
                    template = DataObject.Load <DataObject>(templateId, null, false);
                }
                if (template != null && template.State != ObjectState.Added)
                {
                    Helper.SetActions(Helper.GetPictureFormatFromFilename(uploadedFile.GetName()), template.ObjectType, out actionProfileCropCheckAndArchive, out actionProfileResizeLarge, out actionProfileResizeMedium, out actionProfileResizeSmall, out actionProfileResizeExtraSmall, out actionProfileCrop, imageTypes);
                }
                else
                {
                    Helper.SetActions(Helper.GetPictureFormatFromFilename(uploadedFile.GetName()), dataObject.ObjectType, out actionProfileCropCheckAndArchive, out actionProfileResizeLarge, out actionProfileResizeMedium, out actionProfileResizeSmall, out actionProfileResizeExtraSmall, out actionProfileCrop, imageTypes);
                }
                string originalExtension = uploadedFile.GetName().Substring(uploadedFile.GetName().LastIndexOf('.'));
                string archivedFilename  = System.IO.Path.Combine(imageHandler.GetPhysicalImagePath(actionProfileCropCheckAndArchive), imageHandler.ImageName + originalExtension);
                uploadedFile.SaveAs(archivedFilename, true);

                imageHandler.DoConvert(archivedFilename, actionProfileCropCheckAndArchive, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                archivedFilename = imageHandler.TargetImage;
                int originalImageHeight    = imageHandler.ImageInfo.Height;
                int originalImageWidth     = imageHandler.ImageInfo.Width;
                int cropLimitHeight        = imageHandler.OriginalCropHeight(actionProfileCropCheckAndArchive);
                int cropLimitWidth         = imageHandler.OriginalCropWidth(actionProfileCropCheckAndArchive);
                int maxVisualWidthOrHeight = imageHandler.GetMaxVisualWidthOrHeight(actionProfileCropCheckAndArchive);

                if (originalImageHeight < cropLimitHeight && originalImageWidth < cropLimitWidth) // No need for cropping
                {
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeExtraSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeSmall, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    if (actionProfileResizeMedium != null)
                    {
                        imageHandler.DoConvert(archivedFilename, actionProfileResizeMedium, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    }
                    imageHandler.DoConvert(archivedFilename, actionProfileResizeLarge, _4screen.CSB.ImageHandler.Business.ImageHandler.ReturnPath.Url);
                    SaveDataObject(imageHandler.ImageName);

                    if (string.IsNullOrEmpty(Request.QueryString["ReturnURL"]))
                    {
                        litScript.Text = "<script language=\"javascript\">$telerik.$(function() { RefreshParentPage(true); CloseWindow(); } );</script>";
                    }
                    else
                    {
                        litScript.Text = string.Format("<script language=\"javascript\">$telerik.$(function() {{ RedirectParentPage('{0}'); CloseWindow(); }} );</script>", Encoding.ASCII.GetString(Convert.FromBase64String(Request.QueryString["ReturnURL"])));
                    }
                }
                else
                {
                    ViewState["sourceImg"]   = archivedFilename;
                    ViewState["ImageWidth"]  = originalImageWidth;
                    ViewState["ImageHeight"] = originalImageHeight;
                    ViewState["MaxSize"]     = maxVisualWidthOrHeight;

                    pnlCroping.Visible      = true;
                    pnlUploadFinish.Visible = false;
                    pnlUpload.Visible       = false;
                    if (!string.IsNullOrEmpty(Request.QueryString["TemplateID"]))
                    {
                        this.PnlTitle.Visible = true;
                    }

                    if (originalImageHeight > originalImageWidth && originalImageHeight > maxVisualWidthOrHeight)
                    {
                        Crop.CroppedImageHeight = maxVisualWidthOrHeight;
                        Crop.CroppedImageWidth  = (int)((float)maxVisualWidthOrHeight * (float)originalImageWidth / (float)originalImageHeight);
                    }
                    else if (originalImageHeight < originalImageWidth && originalImageWidth > maxVisualWidthOrHeight)
                    {
                        Crop.CroppedImageHeight = (int)((float)maxVisualWidthOrHeight * (float)originalImageHeight / (float)originalImageWidth);
                        Crop.CroppedImageWidth  = maxVisualWidthOrHeight;
                    }
                    else if (originalImageWidth > maxVisualWidthOrHeight)
                    {
                        Crop.CroppedImageHeight = maxVisualWidthOrHeight;
                        Crop.CroppedImageWidth  = maxVisualWidthOrHeight;
                    }
                    else
                    {
                        Crop.CroppedImageHeight = originalImageHeight;
                        Crop.CroppedImageWidth  = originalImageWidth;
                    }
                    Crop.AllowQualityLoss = true;

                    FileStream stream = File.Open(archivedFilename, FileMode.Open);
                    byte[]     buffer = new byte[stream.Length];
                    stream.Read(buffer, 0, buffer.Length);
                    stream.Dispose();
                    Crop.SourceImage = buffer;
                }
            }
        }