Zoque.Forum
»
İmage üstüne image yazma
|
| ://www Web tasarımı ve internet ile ilgili olarak karşılaştığınız problemleri ve merak ettiklerinizi burada tartışabilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 28.12.2005
Yer: İstanbul
Yaş: 27
Mesaj: 47
|
İmage üstüne image yazma
Selam arkadaşlar, başlık saçma olmuş olabilir ama olay gerçekten böyle.
Şimdi şöyleki; kullanıcının upload ettiği Yüz(face)resimleri üzerine bizim kütüphanemizde bulunan bıyık,sakal vs. resimleri eklemek istiyoruz. ASPX biliyorum ve tahminimce streamwriter ve streamreader ile yapılacak,sadece fikir yürüyüyorum yanlış anlamayın , düşündüğüm doğru olmayabilir, böyle birşeyi nasıl yapabilirim arkadaşlar?Bir fikri yada tecrübesi olan varmı?varsa benimle paylaşabilirmi. Benim bildiğim olay şöyle; SQL e upload edilen resimleri binary olarak kaydedebiliyoruz ve haliyle sayfaya çağırırken istediğimiz boyutta çizebiliyoruz, bunu şundan sebep söylüyorum , adam hangi boyutlarda resim upload ederse etsin,benim belirlediğim ölçülerde resim sisteme girilecek ve bıyık saç vs eklerken sorun çıkmayacak.Ama ondan sonra resim üzerine diğer resmi nasıl ekleyecem orada takılıyorum. Eğer yolum doğruysa yada yanlışsa belirtirseniz sevinirim. Kısaca böyle bir deneyimi olan varsa paylaşırsa çok sevinirim... |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 17.04.2003
Yer: İstanbul
Yaş: 24
Mesaj: 190
|
Re: İmage üstüne image yazma
PHP'de .PNG formatındaki önceden hazırlanmış maskeleme imajlarını istediğin bir resmin üzerine yazabiliyorsun. ASPX demişsin, sanırım .NET ile çalışıyorsun? Onu da belirtirsen daha sağlam yanıtlar alırsın herhalde.
Maskelemenin genel mantığı şu: Önce ekleyeceğin her öğe için ayrı bir maske dosyası ve/veya matrisi hazırlayacaksın (biz dosyayı ele alalım ki aslında dosya da zaten renk matrisi içerir). Mesela, bıyık ekleyeceksen ya beyaz üzerine siyah ya da siyah üzerine beyaz olarak bıyığı istediğin şekilde çizeceksin (burada da siyah üzerine beyaz yaptığını ele alalım). Kullanıcının yüklediği imajı bu maske imajıyla aynı boyuta getireceksin. Sonra maske imajını ve kullanıcının yüklediği imajı binary olarak açıp (burada resim dosya türlerinin header ve info bölümlerinin bilgisini okumayı bilmen gerekiyor) maske imajındaki matrisi alacak ve döngüye sokacaksın. Bu döngü sonunda 3. bir imaj elde etmiş olacaksın, o da şu şekilde olacak: Sen o döngüde maske imajının matrisine bakarken siyah noktalara karşılık gelen X ve Y koordinatlarına göre kullanıcının imajındaki değeri yeni imaja yazacaksın. Eğer beyaz noktaya denk gelirsen de kullanıcının imajındaki değer yerine maskedeki değeri yazacaksın (veya istediğin başka bir işlem yapacaksın, buradaki olay kullanıcının imajındaki değeri almıyor olmak). Böylece maskeyi kullanıcının imajının üzerine bir nevi yapıştırmış olacaksın. Örnek: 0 0 1 0 1 0 0 0 1 Bu bizim maskemiz olsun. Burada 1'leri ele alacağız. 3 7 5 6 4 9 1 0 8 Bu da kullanıcının imajı olsun. Bu maskeyi, imaj üzerine uygularsak şunu elde etmiş oluruz: 3 7 X 6 X 9 1 0 X Burada X yerine ister 1 yazarsın, istersen de başka bir değer. Sonuçta maskeden biz sadece o koordinatlara işlem yapmamız gerektiğini gördük, işlem ise sana kalmış ![]() Umarım yeterince açıklayıcı olabilmişimdir. Basit bir mantıktır aslında ama anlatması uzun böyle. E tabi, bu anlattıklarımı uygulayacak hazır bir kütüphane veya bileşen var mıdır onu bilmiyorum. Yoksa sana kalacak uygulamak ![]() PS: Bir de benim örnekler siyah/beyaz resimler için geçerli. Yani tek boyutlu matris olayı. Renkli resimlerde biraz daha farklı oluyor olay. Ama maskeleme mantığı gene aynı ![]()
__________________
... Some will win, some will lose Some were born to sing the blues ... |
|
|
|
Zoque'a hoşgeldiniz!