示例#1
0
        public static ImageExtension GetImageExtension(CompressionAlgorithmSelected compressorAlgorithmSelected)
        {
            switch (compressorAlgorithmSelected)
            {
            case (CompressionAlgorithmSelected.WEBPAlgorithm):
                return(ImageExtension.WEBP);

            case (CompressionAlgorithmSelected.JPEGAlgorithm):
                return(ImageExtension.JPEG);
            }
            return(ImageExtension.none);
        }
示例#2
0
        /*
         * Avvio compressione e invio
         */

        private void OnButtonClickProcessImage(object sender, EventArgs e)
        {
            try
            {
                CompressionAlgorithmSelected compressionAlgorithmSelected = CompressionAlgorithmSelectedMethods.AlgorithmSelected(algorithmList.SelectedItem);
                CompressImage(compressionAlgorithmSelected, Convert.ToString(qualityAlgorithmEntry.Value));
                SendFileToServer(compressionAlgorithmSelected);
            }
            catch (Exception ex)
            {
                DisplayAlert("Errore", ex.Message, "OK");
            }
        }
示例#3
0
        /*
         * Invio file al server in base ad algoritmo scelto
         */

        private void SendFileToServer(CompressionAlgorithmSelected compressionAlgorithmSelected)
        {
            ImageExtension imageExtension = ImageExtensionMethods.GetImageExtension(compressionAlgorithmSelected);

            try
            {
                CreateJSONFiles();
                Send(imageExtension);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
示例#4
0
        /*
         * Avvio compressione in base ad algoritmo scelto
         */

        private void CompressImage(CompressionAlgorithmSelected info, string quality)
        {
            switch (info)
            {
            case CompressionAlgorithmSelected.WEBPAlgorithm:
                int resultWEBP = DependencyService.Get <ICompressorAlgorithm>().CallWEBPCompressorAlgorithm(imageSource, imageCompressDirectory + ".webp", quality);
                if (resultWEBP != 0)
                {
                    throw new Exception("Errore di compressione");
                }
                break;

            case CompressionAlgorithmSelected.JPEGAlgorithm:
                if (!JPEGCompressorAlgorithm.JPEGCompressor(imageSource, imageCompressDirectory + ".jpg", Convert.ToInt32(quality)))
                {
                    throw new Exception("Errore di compressione");
                }
                break;

            case CompressionAlgorithmSelected.none:
                throw new Exception("Errore selezione algoritmo di compressione'");
            }
        }