BT Profesyonelleri ve Kullanıcılar için ipuçları
Base64 Image To String Convert Sample Image

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

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.

Base64 Image to string convert - file dialog

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.



Bir yorum ekleyin

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir