Konular biraz birbirine girdi sanırım. Kısaca açıklamaya çalışayım.
1- Bir yerden diğerine dosya transferi yaparken dosyanın uzantısı, formatı vs önemli değildir, her dosya için yöntem aynıdır. Dosyanın baytlarını okursunuz ve transfer edersiniz demek istemiştim. Dosyanın uzantısı, adı vs daha üst seviye bir katmandaki bir bilgidir.
2- BMP'ye çevirmek bir resim dosyasının boyutunu küçültmez. Aksine oldukça büyütür. BMP, yani bitmap dosyaları ham dosyalardır. Her bir pixel için 3 byte veri saklar. R,G ve B için birer byte (yani 256 seçenek). Bu sayede 24 bitlik bir renk skalası (16.7 milyon renk) elde edilir. Bu da megapixel başına 3MB veri demektir. Güncel bir makina 15 megapixel olsa BMP formatında 45 MB veri demektir. O yüzden BMP pek kullanılmaz. Tek faydası hesaplama (sıkıştırma/açma) yapmadan okuma yazma ve üzerinde kolay görüntü işlemedir. PNG ve JPG ise sıkıştırma kullanan formatlardır. Dosya boyu çok daha küçüktür. Sıkıştırma kalitesine göre dosya boyu değişir. PNG dosyalarında ayrıca transparanlık vb gibi özellikler de tanımlanabilir.
@Ahmet, dolayısıyla bir JPG dosyayı BMP'ye çevirerek küçültmüş olma ihtimalin yok. Bir yanlışlık var o işte.
3- Dosya adı, oluşturma tarihi vb bilgiler dosyanın içinde değil saklanan ortamdaki dosya sistemi içerisinde tutuluyor. FAT32, NTFS vb isimlerle bildiğimiz dosya sistemlerinin işi bunları yönetmek. Ayrıca bildiğiniz gibi dosyanın disk üzerindeki yeri (ya da parçalanmışsa yerleri) vb de dosya sistemi içerisinde turuluyor. İşletim sistemi tüm bilgiyi buradan alıyor. Silinen bir dosya da aslında dosya sistemi altındaki tablodan kaydın silinmesi. Bu sayede gerekirse geri kurtarmak mümkün oluyor.
4- Bazı resim dosyalarının içerisinde resimle ilgili metadata dediğimiz çekim zamanı, çekim yeri, çekim ayarları, çeken makina vb bilgiler de bulunabiliyor. Bu yukarıdaki konudan bağımsız. O da dosya içeriğinin bir parçası.