Site icon AdminGuide.Info

C# – Base64 ile Görseli String e Çevirmek

Base64 Image To String Convert Sample Image

Base64 Encoding, binary verileri metne dönüştürerek saklamaya yarayan bir tekniktir. Buna en güzel örnek bir fotoğrafın encode edilerek veritabanı içinde saklanması gösterilebilir.

Bu makalede aslında 2 farklı işlem gerçekleştireceğiz. İlk adımda bir görseli Base64 Encoding ile string’ e çevirip, ikinci adımda ise elimizdeki Base64 string’ i tekrar görsel dosyası haline getirerek görüntüleyeceğiz. 

Ekte proje dosyalarını da bulabileceğiniz bu çalışmada, önce OpenFileDialog ile bir görsel seçiyoruz.

Bu görseli ilk PictureBox’ a yüklüyoruz, Base64 çevrimini yapıyoruz ve üretilen stringi TextBox’ a yazıyoruz. Daha sonra da elimizde Base64 string’ i tekrar decode ederek görsel dosyasına çeviriyoruz.

Kaynak kodları aşağıda bulabilirsiniz;

using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;

namespace ImageToBase64
{
	public partial class frmMain : Form
	{
		public frmMain()
		{
			InitializeComponent();
		}

		private void btnSelectFile_Click(object sender, EventArgs e)
		{
			// OpenFileDialog için seçenekler belirleniyor.
			// Parameter Settings for File Dialog
			ofdSelectImage.Filter = "Tüm Dosyalar |*.*| Jpeg Görseller|*.JPEG,*.JPG,*.jpg,*.jpeg| PNG Görseller|*.png";
			ofdSelectImage.FilterIndex = 1;
			ofdSelectImage.SupportMultiDottedExtensions = true;
			ofdSelectImage.Multiselect = false;

			if (ofdSelectImage.ShowDialog() == DialogResult.OK)
			{
				string secilenDosya = ofdSelectImage.FileName;

				// PictureBox' ta görsel yükleniyor.
				// ımage loading to Picturebox
				pbxLoadedımage.Image = Image.FromFile(secilenDosya);
				pbxLoadedımage.SizeMode = PictureBoxSizeMode.Zoom;

				// Görsel' in Base64 çevrimi yapılıyor.
				// Image converting to base64

				byte[] imageBytes = System.IO.File.ReadAllBytes(secilenDosya);
				string base64Formatted = Convert.ToBase64String(imageBytes);
				txbBase64Code.Text = base64Formatted;

				// Base64 kod' dan görsele dönüştürme yapılıyor
				// Base64 code is converting to image

				byte[] base64Bytes = Convert.FromBase64String(base64Formatted);
				MemoryStream memoryStream = new MemoryStream(base64Bytes);
				pbxConvertedImage.Image = Image.FromStream(memoryStream);
				pbxConvertedImage.SizeMode = PictureBoxSizeMode.Zoom;
			}
		}
	}
}

Proje dosyalarını ise aşağıdaki linkten indirebilirsiniz.

Proje Dosyaları

Base64 hakkında daha detaylı bilgi almak ve farklı kullanım yöntemlerini incelemek için “C# ile Base64 Encode ve Decode İşlemleri” başlıklı yazımızı incelemelisiniz.



Exit mobile version