На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование графики"
1) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с чтением, сохранением, обработкой, созданием, отрисовкой графической информации (в том числе - 3D [OpenGL, Direct3D] и анимации [в т.ч. VFW, DirectShow, OpenDML]).
Флэш обсуждают здесь!.

2) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе.

3) Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно.



Ваше мнение о модераторах: user posted imageBarazuk, user posted imageOpenGL, user posted imageMikle
Модераторы: OpenGL, Mikle
  
> Захват фото с веб-камеры
    Вопрос номер один. Решен.

    Всем привет! Проблема такая: моя камера (logitech c920) умеет делать фотки с разрешением 5k пикселей. А в захвате дает только 1920 максимум.
    Разрешение устанавливаю с помощью WM_CAP_SET_VIDEOFORMAT а захват WM_CAP_GRAB_FRAME. Меньше установить получается, а если больше - оно выдает 1920.

    Вопрос номер два. НЕРЕШЕН.

    Захваченную фотку сохраняю на диск. Но какой бы я не подставлял FilePath, из него почему то читается только первая буква. Одна. В резульате, если задать FilePath="D:\1.bmp' то сохраняется файл просто с именем 'D' и, ложится в папку программы. Без расширения ессно. Что это может быть? В MSDN четко сказано, что этот параметр - null terminated string, чего ж она хочет?

    ExpandedWrap disabled
      procedure CaptureWebCam(FilePath: String);
      begin
        if CaptureWindow <> 0 then begin
          SendMessage(CaptureWindow, WM_CAP_GRAB_FRAME, 0, 0);
          SendMessage(CaptureWindow, WM_CAP_SAVEDIB, 0, longint(PAnsiChar(FilePath)));
        end;
      end;
    Сообщение отредактировано: мыш -
      Кажется я понял. Нужно запрашивать только те разрешения, которые может выдать камера. Например я пытался взять 640х480 а камера может только 864х480. Но 5168х2907 по прежнему не выходит сграбить, хотя через родную софтину оно такие снимки делает. Максимум что вышло - 2304х1296.

      Добавлено
      И тут понятно: оказалось что большие разрешения делаются программно, она больше 2мп не умеет. Всем спасибо :)
        Цитата мыш @
        чего ж она хочет?

        Юникодную строку? Вероятно.
          Нет, пробовал.

          ExpandedWrap disabled
            var
            f:WideString;
            f := SaveDialog1.FileName;
            SendMessage(hWndC,
                               WM_CAP_FILE_SET_CAPTURE_FILEA,
                               0,
                               Longint(pwidechar(f)));


          то же самое
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0207 ]   [ 15 queries used ]   [ Generated: 28.03.24, 14:47 GMT ]