C de resim açmak

Başlatan juanito, 19 Mart 2009 - 00:01:24

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

juanito

C ile ubuntuda herhangi bi dizinde bulunan bi resim müzik gibi bir dosyayı printf ile ismini bu tarz bilgiyi alıp o dizinde arama yapıp o resmi veya müziği bulup açan programın kodu nasıl yapılır. yardımcı olabilirseniz sevinirim.

okanakyuz

Diizn için aramak için requrisive searsh algoritması ile linked list doldurursunuz.  Yaklasık sölle okursunuz

     #include <stddef.h>
     #include <stdio.h>
     #include <sys/types.h>
     #include <dirent.h>
     
     int
     main (void)
     {
       DIR *dp;
       struct dirent *ep;
     
       dp = opendir ("./");
       if (dp != NULL)
         {
           while (ep = readdir (dp))
             puts (ep->d_name);
           (void) closedir (dp);
         }
       else
         perror ("Couldn't open the directory");
     
       return 0;
     }

ama ekrana yazmak yerine linked liste doldurmak iyidir.

yapısına burda deyinilmiş http://www.linuxforums.org/forum/linux-programming-scripting/47505-implementing-linked-list-c.html

resim dosyaları hangi formatta ise ole okumalısınız. örneğin Jpegler LOCO-I algoritması kullanıyor http://www.hpl.hp.com/loco/HPL-98-193R1.pdf ama hazır kütüphane kullanabilirsiniz okumak için.

Yine müzik için örneğin MP3 için de formatlar var sesi cıkartmak için de bir müzik kütüphanesi lazım

C++ ile yapsanız daha kolay ama illa C kullanacaksanız adlib ile çalabilirsiniz sanırım.ayrıca C++ için http://sourceforge.net/projects/mxflib/ diye bir kütüphane de var (kullanmadım)

aduarenin doxygen manueli var http://audiere.sourceforge.net/audiere-1.9.4-users-doxygen/ kolay duruyor.
resmi görüntülemek için (okuduktan sonra) X e direkt mi yazacaksınız? x11 ktüphanesi işi görür.

zeynep

herhangi bir resim dosyasını açabilen c kodu lazım ubuntu da yardımcı olabilrmisiiz? acilen

juanito

ben aradığımı buldum umarım sende bulursun.

#include <stdio.h>

#include <unistd.h>



int main(){



    pid_t pid;

    pid = fork();



    if (pid == 0) {

if(execl("/usr/bin/gimp","gimp","/home/salih/salih.JPG",(char *)0)){

}else{

printf("dosya bulunamadı");

}



}



getchar();

}

yani asıl kod böyle if(execl("/usr/bin/gimp","gimp","/home/salih/salih.JPG",(char *)0)){
bol şanslar

Sypro

@zeynep,
Hoşgeldiniz öncelikle. Bu koda ne için ihtiyacınız var bilmiyoruz; ama hatırlatmak istediğim üç şey var:
Birincisi, burada bulunduğunuz süre boyunca kurallara uymak ile yükümlüsünüz. Lütfen kuralları bir gözden geçirin. (Bakarsanız görürsünüz;) )
İkincisi, sizin için acil olan bir şey herhangi birimiz için aciliyet belirtmeyebilir. Bu yüzden mesajlarınızda -ne kadar acil olursa olsun- bu tarz ifadeler kullanmamaya özen gösterin. Zira çok itici bir görünüm oluşturuyor.
Üçüncü ve son olarak, eğer bir ödev/sunum/vb gibi şeyler için istiyorsanız bu kodları, lütfen işinizi insanlara yaptırmayın kendiniz yapın. Takıldığınız bir yer olursa onda seve seve yardım ederiz. Kalkıp sadece #include yazıp ben takıldım demek var bir de bir algoritma oluşturup en azından bir mantık oluşturup gelip yardım istemek var. Dediğim gibi, eğer öyle bir durum için ise zaten internette bulabilirsiniz.


"Milliyetin çok belirgin vasıflarından biri dildir. Türk milletindenim diyen insan, her şeyden evvel ve mutlaka Türkçe konuşmalıdır. Türkçe konuşmayan bir insan, Türk kültürüne, topluluğuna bağlılığını iddia ederse buna inanmak doğru olmaz."

mtilhan

Alıntı yapılan: juanito - 25 Mart 2009 - 16:06:58
ben aradığımı buldum umarım sende bulursun.

#include <stdio.h>

#include <unistd.h>



int main(){



    pid_t pid;

    pid = fork();



    if (pid == 0) {

if(execl("/usr/bin/gimp","gimp","/home/salih/salih.JPG",(char *)0)){

}else{

printf("dosya bulunamadı");

}



}



getchar();

}

yani asıl kod böyle if(execl("/usr/bin/gimp","gimp","/home/salih/salih.JPG",(char *)0)){
bol şanslar
Öncelikle kod arasında yazarsan daha iyi olur :). Yukarıda shard işareti :) C#'daki gibi.
Bu arada senin kodunda gimp ile açıyor. Onun yerine sadece adresini yazsaydın otomatik resim gösterici ile açılırdı :)
You're beatiful but you will never be mine.
Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul.