Announcement

Collapse
No announcement yet.

Photo

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Photo

    Hallo an alle,
    hat jemand schon mit sowas hier Erfahrung...

    Durch auslösen eines Buttons soll die Photofunktion ausgelöste werden und das Photo in einen definierten pfad abgelegt werden?

    Ich nutze C# und WindowsMobile6

    diesen Link kenne ich bereits, hilft mir aber nicht wirklich weiter...
    http://msdn.microsoft.com/en-us/library/aa454909.aspx

    Vielleicht kann neman helfen....

  • #2
    Also, theoretisch müsste sowas eigentlich reichen:

    Code:
    using Microsoft.WindowsMobile.Forms;
    ....
    
    private void shoot()
    {
    CameraCaptureDialog cameraCapture = new CameraCaptureDialog(); camera.InitialDirectory = @"\Program Files"; cameraCapture.DefaultFileName = "sample.jpg"; cameraCapture.Title = "Sample"; cameraCapture.Mode = CameraCaptureMode.Still; cameraCapture.StillQuality = CameraCaptureStillQuality.Default; cameraCapture.Resolution = new Size(320, 240); cameraCapture.ShowDialog();
    }
    Siehe auch hier


    Ich bin aber auch noch am kämpfen, da bei dem Aufruf der cameraCapture.ShowDialog(); eine Unknown Exception kommt....

    Comment


    • #3
      Danke Eugen Falkenstein

      Ich bin aber auch noch am kämpfen
      ok, lass uns gemeinsam kämpfen...

      Danke Dir erstmal...
      Hatte sowas ähnliches schon im Netz gefunden, jedoch wusste ich nicht welche using Anwendung genutzt werden muss.

      Werde wenn ich weiteres weiß es dann hier Posten, würde mich freuen, wenn Du mehr Erfolg hast, näheres darüber zu erfahren.

      Greetz uns Danke nochmal...

      @Eugen Falkenstein
      So gerade getestet und eingespielt....
      soweit geht das bei mir!? mmhhhh....
      Habe unter Verweise die Microsoft.WindowsMobile.Forms noch mit eingebunden und der EMULATOR arbeitet...
      bekomme auch keine Exception...

      Ist nur die Frage wie man das ganze testen kann, da ich über den Emulator ja kein Bild schießen kann.
      Achja, was noch komisch aussieht, das PDA öffnet mir ein Fenster wo ich filmen könnte???

      Weis jemand da nen Rat?
      Zuletzt editiert von a mueller; 20.05.2008, 22:29.

      Comment


      • #4
        Hi!
        Hab jetzt auf dem physischen Gerät ausprobiert und es funzt wunderbar! Nur auf dem EMULATOR bekomme ich ständig die blöde Exception Deswegen kann ich dir dazu nichts weiteres sagen(bis jetzt).
        Auf dem physischen Gerät wird der Standard-Windows-Dialog zum "Bilder schießen" geöffnet. Da kann man leider nicht viel eingreifen würde ich sagen. Man drücke die Taste "Bild schießen" auf dem Gerät und Bestätigt es mit ok, das Bild wird iregendwo gespeichert und das kannst du dann anzeigen lassen.

        Hier mein Code jetzt:
        Code:
        ....
        using Microsoft.WindowsMobile.Forms;
        using System.IO;
        using System.Drawing.Imaging;
        using System.Reflection;
        .....
        
        private void shoot()
        {
            //Initialisierung
            CameraCaptureDialog cameraCaptureDialog = new CameraCaptureDialog();
            cameraCaptureDialog.Owner = this;
            cameraCaptureDialog.Title = "Take Photo";
            cameraCaptureDialog.Mode = CameraCaptureMode.Still;
            cameraCaptureDialog.Resolution = new Size(240, 180);
        
            if (cameraCaptureDialog.ShowDialog() == DialogResult.OK && cameraCaptureDialog.FileName.Length > 0)
            {
                //Dateinamen bestimmen
                string fullPath = Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName;
                string exePath = Path.GetDirectoryName(fullPath);
                string fullFileName = exePath+@"\"+NewFileName();
        
                //Datei kopieren und anzeigen
                File.Copy(cameraCaptureDialog.FileName, fullFileName);
                pictureBox1.Image = new Bitmap(fullFileName);
            }
        }
        
        //Generiert einen zufälligen Dateinamen für die Bilddatei
        private string NewFileName()
        {
             return (Guid.NewGuid().ToString()+".jpg");
        }
        Hier fählen jetzt "nur noch" die Routinen was man mit dem Foto anschließend macht(z.B. verwerfen falls nicht ok, anderswo speichern usw..). Und dann hat sich das eigentlich!

        Comment


        • #5
          Hi!

          Alos soweit so gut.. Werde das ganze diesmal erst Freitag testen können, aber soweit Danke ich Dir!

          So langsam fängt PDA Programmierung an doch Spaß zu machen.

          Ok, werde dann (wenn es dann funktioniert) meine Version Posten...

          Denke mal das es genug User gibt die auch danach suchen...

          Also bis denne

          Greetz

          Comment


          • #6
            wolltest du nicht etwas posten ?

            Comment


            • #7
              oki doki gesagt getan...

              Alos vielleicht nicht perfekt aber funzt...

              Code:
               private void picCam_Click(object sender, EventArgs e)
                      {
                          CameraCaptureDialog cameraDialog = new CameraCaptureDialog();
                          cameraDialog.Mode = CameraCaptureMode.Still;
                          cameraDialog.StillQuality = CameraCaptureStillQuality.High;
                          cameraDialog.Resolution = new Size(640,480);
              
                          bool photoGeschossen = false;
                          
                          do
                          {
                              try
                              {
                                  result = cameraDialog.ShowDialog();
                              }
                              catch 
                              {
                              // wenn Photo schießen abgebrochen wurde
                              // result = None
                              // CameraDialog beenden
                                  break;
                              }
                              if (result == DialogResult.OK)
                              {
                                  // Bilder Pfad übergeben und abspeichern
                                  photoPath = cameraDialog.FileName;
                                  checkInhalt.valueBild = photoPath;
                                
                                  checkInhalt.BilderSpeichern();
              
                                  // Bild auslesen und gleich anzeigen
                                   comboBox2.DataSource = '(hier das bild)';
                                   comboBox2.Visible = true;
                                   picTrash.Visible = true;
                                   lblBildAnsehen.Visible = true;
                                   photoGeschossen = true;
                              }
                              else if (result==DialogResult.Retry)
                              {
                                  photoGeschossen = false;
                              }
                          }
                          while (photoGeschossen != true);
              
                          this.Show(); 
                      }
              Wie man das richtig mit den exception löst weis ich nicht so ganz.
              Habe es so gelöst... Bei Abbruch, beenden CaptureDialog beenden ohne was zu machen. Ansonsten Bild speichern, bzw. wiederholen....



              So hier ist jetzt die Antwort
              Zuletzt editiert von a mueller; 22.06.2008, 12:11.

              Comment

              Working...
              X