C# Resim Dosyalarını Base64String’e Çevirme

Merhaba,

Bugün C# ‘ da resim olarak aldığımız bir dosyayı Base64String çevirip tekrar resme çevirme adına bir uygulama yazacağım. Base64String sadece ASCII karakterlerini kullanan ortamlarda iletilmesine ve saklanmasına olanak tanıyan bir kodlama şemasıdır. CSS’de img src =”” kısmına resmin adresini yazıyorduk fakat artık base64,string şeklinde yazacağız bize avantajı her zaman o adrese bağlanıp resmi bulmak zorunda kalmayacak Base64String’i gömeceğimiz için koda o siteden belirtilen adresteki resim olmasa bile artık resim bile her zaman gelecektir. Çevirme işlemi resim <=> byte[] <=> base64 şeklinde gerçekleşir.

Form Tasarımı:

form1

form2

 

Kodlarımız : 

[csharp]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace imageTobase64string
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnBase64String_Click(object sender, EventArgs e)
{
pbImage.Image = Image.FromFile(@"" + pbImage.ImageLocation + "");

using (MemoryStream ms = new MemoryStream()) // Uzantısına göre kırılma yaptığımız kısım
{
if (Path.GetExtension(pbImage.ImageLocation).ToUpper() == ".PNG")
{
pbImage.Image.Save(ms, ImageFormat.Png);
}

if (Path.GetExtension(pbImage.ImageLocation).ToUpper() == ".JPG")
{
pbImage.Image.Save(ms, ImageFormat.Png);
}
byte[] imageBytes = ms.ToArray();

txtBase64String.Text = Convert.ToBase64String(imageBytes);
}
}

private void btnResimSec_Click(object sender, EventArgs e) //Dosya seçme işlemi yaptığımız kısım
{
OpenFileDialog dosya = new OpenFileDialog();
dosya.Filter = "Tüm Dosyalar |*.*|JPG Dosyası|*.jpg,*.jpeg|PNG Dosyası|*.png";
dosya.Title = "Resim Seç";
dosya.ShowDialog();
string DosyaYolu = dosya.FileName;
pbImage.ImageLocation = DosyaYolu;
btnBase64String.Enabled = true;
}

private void btnImageConverter_Click(object sender, EventArgs e) //string kısmı resme çeviren kısım
{

byte[] imageBytes = Convert.FromBase64String(txtBase64String.Text);
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);

ms.Write(imageBytes, 0, imageBytes.Length);
pbSonuc.Image = Image.FromStream(ms, true);
}

private void btnTemizle_Click(object sender, EventArgs e) //temizleme işlemleri
{
pbImage.Image = null;
pbSonuc.Image = null;
txtBase64String.Clear();
}

private void Form1_Load(object sender, EventArgs e) //Form ilk açılırken resim secmeden btnBase64String pasif olsun
{
btnBase64String.Enabled = false;

}
}
}

[/csharp]

Ayrıca Base64String’in doğruluğunu şu şekilde kontrol edebiliriz.

form3

 

Base64String kullanarak css de gömülü resim kullanmayı nasıl yapacağımız hakkında bilgi vermek istedim umarım yararlı olur. İyi çalışmalar.

 

Hakkında Ali Demirci

Ben Ali Demirci... 1991 Ankara doğumluyum. Ankara da yaşıyorum. Fırsat buldukça öğrendiklerimi burada paylaşıyorum. Java ile haşır neşirim. Android'den asla vazgeçemem. Öğrenmeye bayılırım. Yeni şeyler öğrendiğimde, geçmişteki projelerimde keşke böyle yapsaydım diye çok üzülmüşümdür. O yüzden öğrenmekten korkmayın. Takıldığınız yerleri mutlaka sorun. Biliyorsam yanıt veririm. Bilmiyorsam yol gösteririm. Teşekkürler :)

Kontrol Et

C# Lambda Expressions kullanımı

Merhaba, Bu yazımda Lambda Expressions hakkında biraz bilgi vermeye çalışacağım. Lambda Expressions genelde basit işlermler yapmak için …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.