Сжатие и ссылка распаковки для QuickTime
Сжатие QuickTime и распаковка APIs помогают приложениям сжать и распаковать данные фильма.
-
AlignScreenRect AlignScreenRect
(OS X v10.9)Выравнивает указанный прямоугольник на самый строгий экран, который пересекает прямоугольник.
Объявление
Objective C
void AlignScreenRect ( Rect *rp, ICMAlignmentProcRecordPtr alignmentProc );
Параметры
rp
Указатель на прямоугольник определяется в глобальных координатах экрана.
alignmentProc
Точки к Вашей собственной функции поведения выравнивания. Установите этот параметр на
NIL
использовать стандартное поведение.Обсуждение
Для спецификации Вашей функции выравнивания посмотрите
ICMAlignmentProc
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
AlignWindow AlignWindow
(OS X v10.9)Перемещает указанное окно в самую близкую оптимальную позицию выравнивания.
Объявление
Objective C
void AlignWindow ( WindowRef wp, Boolean front, const Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc );
Параметры
wp
Точки к окну, чтобы быть выровненный.
front
frontmost окно. Если
front
параметром является TRUE и окно, указанное вwp
параметр не является активным окном,AlignWindow
делает его активным окном.alignmentRect
Указатель на прямоугольник в координатах окна, позволяющий Вам выравнивать окно к прямоугольнику в окне. Установите этот параметр на
NIL
выровнять использование границ окна.alignmentProc
Точки к функции, позволяющей Вам обеспечивать свое собственное поведение выравнивания. Установите этот параметр на
NIL
использовать стандартное поведение.Обсуждение
Для спецификации Вашей функции выравнивания посмотрите
ICMAlignmentProc
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DragAlignedGrayRgn DragAlignedGrayRgn
(OS X v10.9)Перетаскивает указанную серую область вдоль оптимальной сетки выравнивания.
Объявление
Параметры
theRgn
Дескриптор к указанной области для этой работы. Когда пользователь удерживает кнопку мыши,
DragAlignedGrayRgn
вытягивает серую схему области вокруг следующего перемещение мыши, пока не отпускается кнопка мыши.startPt
Точка, где кнопка мыши была первоначально нажата в локальных координатах текущего графического порта.
boundsRect
Указатель на граничный прямоугольник текущего графического порта. Точка смещения следует за расположением мыши за исключением того, что
DragAlignedGrayRgn
никогда не перемещает точку смещения вне этого прямоугольника. Это ограничивает перемещение схемы области, не перемещения мыши.slopRect
Указатель на прямоугольник помоев, полностью включающий граничный прямоугольник так, чтобы пользователю разрешили некоторую гибкость в перемещении мыши.
axis
Позволяет Вам ограничивать движение области только к одной оси (см. константы ниже). Посмотрите эти константы:
actionProc
Точки к функции, определяющей некоторое действие, которое будет неоднократно выполняться пока пользователь, удерживают кнопку мыши. Функция не должна иметь никаких параметров. Если
actionProc
параметрNIL
,DragAlignedGrayRgn
просто сохраняет контроль, пока не отпускается кнопка мыши.alignmentRect
Указатель на прямоугольник в границах области указан в параметре
theRgn
. ПередачаNIL
выровнять использованиеbounds
из параметраtheRgn
.alignmentProc
Указатель на Вашу функцию поведения выравнивания; посмотрите
ICMAlignmentProc
. ПередачаNIL
использовать стандартное поведение.Возвращаемое значение
Различие между точкой, где кнопка мыши была нажата и точка смещения; т.е. точка в области, горизонталь которой и вертикальные смещения от верхнего левого угла прямоугольника включения области совпадают со смещениями начальной точки, когда пользователь нажал кнопку мыши. Вертикальное различие между начальной точкой и точкой смещения сохранено в старшем слове возвращаемого значения, и горизонтальное различие сохранено в слове младшего разряда.
Обсуждение
Эта функция ограничивает перемещение области, определенной
theRgn
согласно ограничениям, установленнымboundsRect
иslopRect
параметры. В то время как курсор вboundsRect
прямоугольник, схема области обычно следует за ним. Если кнопка мыши отпускается, в то время как курсор в этом прямоугольнике, возвращаемое значение отражает простое расстояние, которое курсор переместил в каждую размерность. Когда курсор перемещается внеboundsRect
прямоугольник, точка смещения останавливается в краюboundsRect
прямоугольник. В то время как курсор вне, если отпускается кнопка мышиboundsRect
прямоугольник, но вslopRect
прямоугольник, возвращаемое значение отражает только различие между начальной точкой и точкой смещения, независимо от как далеко за пределамиboundsRect
прямоугольник курсор, возможно, переместился. (Обратите внимание на то, что часть области может идти снаружиboundsRect
прямоугольник, но не точка смещения.), Когда курсор перемещается внеslopRect
прямоугольник, схема области исчезает из экрана.DragAlignedGrayRgn
если курсор пятится в, продолжает отслеживать курсор, однако, иslopRect
прямоугольник, схема вновь появляется. В то время как курсор где угодно в, если отпускается кнопка мышиslopRect
прямоугольник, окно перерисовывается в его новом расположении, вычислил от значения, возвращенногоDragAlignedGrayRgn
В то время как курсор вне, если отпускается кнопка мышиslopRect
прямоугольник, оба слова возвращаемого значения установлены в 0x8000, и окно не перемещается от его исходного расположения.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DragAlignedWindow DragAlignedWindow
(OS X v10.9)Перетаскивает указанное окно вдоль оптимальной сетки выравнивания.
Объявление
Objective C
void DragAlignedWindow ( WindowRef wp, Point startPt, Rect *boundsRect, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc );
Параметры
wp
Указатель окна на окно, которое будет перетащено.
startPt
Точка, которая равна точке, где кнопка мыши была нажата (в глобальных координатах, как сохраненный в
where
поле структуры события).DragAlignedWindow
вытягивает серую схему окна вокруг экрана, после перемещений мыши, пока не отпускается кнопка.boundsRect
Точки к граничному прямоугольнику в глобальных координатах. Когда положение мыши вне пределов граничного прямоугольника, если отпускается кнопка мыши
DragAlignedWindow
возвраты, не перемещая окно или делая его активным окном. Для окна документа граничный прямоугольник обычно составляет четыре пикселя в от строки меню и от других краев экрана, чтобы гарантировать, что не будет меньше, чем четыре пиксельных области квадрата строки заголовка, видимой на экране.alignmentRect
Точки к прямоугольнику в координатах окна, позволяющему Вам выравнивать окно к прямоугольнику в окне. Установите этот параметр на
NIL
выровнять использование границ окна.alignmentProc
Указатель на Вашу функцию поведения выравнивания; посмотрите
ICMAlignmentProc
. ПередачаNIL
использовать стандартное поведение.Обсуждение
Следующий пример кода иллюстрирует использование
DragAlignedWindow
:// DragAlignedWindow coding example
// See "Discovering QuickTime," page 265
Boolean IsQuickTimeInstalled (void)
{
OSErr nErr;
long lResult;
nErr =Gestalt(gestaltQuickTime, &lResult);
return (nErr ==noErr);
}
void MyInitialize (void)
{
InitGraf(&qd.thePort);
InitFonts();
InitWindows();
InitMenus();
TEInit();
InitDialogs(NIL);
MaxApplZone();
EnterMovies();
}
WindowRef MakeMyWindow (void)
{
WindowRef pMacWnd;
Rect rectWnd ={0, 0, 120, 160};
Rect rectBest;
// figure out the best monitor for the window
GetBestDeviceRect(NIL, &rectBest);
// put the window in the top left corner of that monitor
OffsetRect(&rectWnd, rectBest.left + 10, rectBest.top + 50);
// create the window
pMacWnd =NewCWindow(NIL, &rectWnd, "\pGrabber",
TRUE, noGrowDocProc, (WindowRef)-1,
TRUE, 0);
// set the port to the new window
SetPort(pMacWnd);
return pMacWnd;
}
main (void)
{
WindowRef pMacWnd;
SeqGrabComponent seqGrab;
SGChannel sgchanVideo, sgchanSound;
Boolean bDone =FALSE;
OSErr nErr;
MyInitialize();
pMacWnd =MakeMyWindow();
seqGrab =MakeMySequenceGrabber(pMacWnd);
if (seqGrab ==NIL)
return;
MakeMyGrabChannels(seqGrab, &sgchanVideo, &sgchanSound,
&pMacWnd->
portRect, FALSE);
nErr =SGStartPreview(seqGrab);
while (!bDone) {
ICMAlignmentProcRecord apr;
short nPart;
WindowRef pWhichWnd;
EventRecord er;
GetNextEvent(everyEvent, &er);
switch (er.what) {
case nullEvent: // give the sequence grabber time
nErr =SGIdle(seqGrab);
if (nErr !=noErr)
bDone =TRUE;
break;
case updateEvt:
if (er.message ==(long)pMacWnd) {
// inform the sequence grabber of the update
SGUpdate(seqGrab,((WindowPeek)
pMacWnd)->
updateRgn);
// and swallow the update event
BeginUpdate(pMacWnd);
EndUpdate(pMacWnd);
}
break;
case mouseDown:
nPart =FindWindow(er.where, &pWhichWnd);
if (pWhichWnd !=pMacWnd)
break;
switch (nPart) {
case inContent:
// pause until mouse button is released
SGPause(seqGrab, TRUE);
while (StillDown())
SGPause(seqGrab, FALSE);
break;
case inGoAway:
bDone =TrackGoAway(pMacWnd, er.where);
break;
case inDrag:
// pause when dragging window so video
// doesn't draw in the wrong place
SGPause(seqGrab, TRUE);
SGGetAlignmentProc(seqGrab, &apr);
DragAlignedWindow(pMacWnd,
er.where,
&screenBits.bounds,
NIL, &alignProc);
SGPause(seqGrab, FALSE);
break;
}
break;
}
}
// clean up
SGStop(seqGrab);
CloseComponent(seqGrab);
DisposeWindow(pMacWnd);
}
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
TransformFixedPoints TransformFixedPoints
(OS X v10.9)Преобразовывает ряд фиксированных точек через указанную матрицу.
Объявление
Objective C
OSErr TransformFixedPoints ( const MatrixRecord *m, FixedPoint *fpt, long count );
Параметры
m
Указатель на матрицу преобразования для этой работы.
fpt
Указатель на первую фиксированную точку, которая будет преобразована.
count
Число фиксированных точек, которые будут преобразованы. Эти точки должны сразу быть сохранены после точки, указанной
fpt
параметр.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
TransformFixedRect TransformFixedRect
(OS X v10.9)Преобразовывает верхние левые и нижние правые точки прямоугольника через матрицу, указанную фиксированными точками.
Объявление
Objective C
Boolean TransformFixedRect ( const MatrixRecord *m, FixedRect *fr, FixedPoint *fpp );
Параметры
m
Указатель на матрицу для этой работы.
fr
Указатель на
FixedRect
структура, определяющая прямоугольник, который будет преобразован.TransformFixedRect
возвращает обновленные координаты в структуру, именуемую этим параметром. Если получающийся прямоугольник был повернут или скошен (т.е. трансформация включает операции кроме масштабирования и перевода), функция устанавливает возвращенное булево значение в FALSE и возвращает координаты граничного поля преобразованного прямоугольника. Функция тогда обновляет точки, указанныеfpp
параметр для содержания координат четырех углов преобразованного прямоугольника.fpp
Указатель на массив четырех фиксированных точек. Функция возвращает координаты четырех углов прямоугольника после работы трансформации. Если Вы не хотите эту информацию, установите этот параметр на
NIL
.Возвращаемое значение
Если получающийся прямоугольник был повернут или скошен (т.е. трансформация включает операции кроме масштабирования и перевода), функция возвращает FALSE, обновляет прямоугольник, указанный
fr
параметр для определения граничного поля получающегося прямоугольника и мест координаты углов получающегося прямоугольника в точках, указанныхfpp
параметр. Если преобразованный прямоугольник и его граничное поле являются тем же, функция возвращает TRUE.Обсуждение
Эта функция не возвращает кодов ошибки.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
TransformPoints TransformPoints
(OS X v10.9)Преобразовывает ряд точек QuickDraw через указанную матрицу.
Объявление
Objective C
OSErr TransformPoints ( const MatrixRecord *mp, Point *pt1, long count );
Параметры
mp
Указатель на матрицу преобразования для этой работы.
pt1
Указатель на первый QuickDraw указывает, чтобы быть преобразованным.
count
Число QuickDraw указывает, чтобы быть преобразованным. Эти точки должны сразу быть сохранены после точки, указанной pt1 параметром.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
TransformRect TransformRect
(OS X v10.9)Преобразовывает верхние левые и нижние правые точки прямоугольника через указанную матрицу.
Объявление
Objective C
Boolean TransformRect ( const MatrixRecord *m, Rect *r, FixedPoint *fpp );
Параметры
m
Матрица для этой работы.
r
Указатель на
Rect
структура, определяющая прямоугольник, который будет преобразован. Функция возвращает обновленные координаты в структуру, именуемую этим параметром.fpp
Указатель на массив четырех фиксированных точек.
TransformRect
функционируйте возвращает координаты четырех углов прямоугольника после работы трансформации. Если Вы не хотите эту информацию, установите этот параметр наNIL
.Возвращаемое значение
Если получающийся прямоугольник был повернут или скошен (т.е. трансформация включает операции кроме масштабирования и перевода), функция возвращает FALSE, обновляет прямоугольник, указанный
r
параметр для определения граничного поля получающегося прямоугольника и мест координаты углов получающегося прямоугольника в точках, указанныхfpp
параметр. Если преобразованный прямоугольник и его граничное поле являются тем же, функция возвращает TRUE.Обсуждение
Эта функция не возвращает кодов ошибки.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
TransformRgn TransformRgn
(OS X v10.9)Применяет указанную матрицу к области.
Объявление
Objective C
OSErr TransformRgn ( MatrixRecordPtr matrix, RgnHandle rgn );
Параметры
matrix
Точки к матрице для этой работы.
TransformRgn
функционируйте в настоящее время поддерживает только перевод и операции масштабирования.rgn
Дескриптор к
MacRegion
структура, которая будет преобразована. Функция преобразовывает каждую точку в область согласно указанной матрицеВозвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Определяет максимальный размер, которым изображение будет после сжатия для данной последовательности сжатия.
Объявление
Objective C
OSErr GetCSequenceMaxCompressionSize ( ImageSequence seqID, PixMapHandle src, long *size );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
CompressSequenceBegin
функция.src
Дескриптор к источнику
PixMap
структура. Компрессор использует только размер изображения и пиксельную глубину для определения максимального размера сжатого изображения.size
Указатель на поле для получения максимального размера, в байтах, сжатого изображения.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция подобна
GetMaxCompressionSize
, но воздействует на последовательность сжатия вместо того, чтобы требовать, чтобы приложение передало отдельные параметры об исходном изображении.Специальные замечания
Перед вызовом
GetCSequenceMaxCompressionSize
Вы, должно быть, уже запустили последовательность сжатия сCompressSequenceBegin
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCSequencePrevBuffer GetCSequencePrevBuffer
(OS X v10.9)Определяет расположение предыдущего буфера изображения, выделенного компрессором.
Объявление
Objective C
OSErr GetCSequencePrevBuffer ( ImageSequence seqID, GWorldPtr *gworld );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
CompressSequenceBegin
функция.gworld
Указатель на поле для получения указателя на
CGrafPort
структура, описывающая графический мир для буфера изображения. Вы не должны избавляться от этого графического мира; возвращенный указатель относится к буферу, который использует Программа управления сжатием изображений. Если компрессор не выделил буфер,GetCSequencePrevBuffer
возвращает ошибочный код результата.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Обратите внимание на то, что эта функция только возвращает информацию о буферах, выделенных компрессором. Вы не можете использовать эту функцию для определения расположения буфера, который Вы обеспечили.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetCSequenceFlushProc SetCSequenceFlushProc
(OS X v10.9)Присваивает разгружающую данные функцию последовательности.
Объявление
Objective C
OSErr SetCSequenceFlushProc ( ImageSequence seqID, ICMFlushProcRecordPtr flushProc, long bufferSize );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.flushProc
Указатель на
ICMFlushProcRecord
структура. Если существует недостаточно памяти для хранения сжатого изображения, компрессор вызываетICMFlushProc
обратный вызов, который Вы обеспечиваете, который разгружает некоторые сжатые данные. Если Вы не обеспечили такую разгружающую данные функцию, устанавливал этот параметр наNIL
. В этом случае компрессор пишет все сжатое изображение в ячейку памяти, указаннуюdata
параметр кCompressSequenceFrame
.bufferSize
Размер буфера, который будет использоваться разгружающей данные функцией, указанной
flushProc
параметр. Если Вы не указали такую разгружающую данные функцию, устанавливал этот параметр на 0.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Разгружающие данные функции позволяют компрессорам работать с изображениями, которые не могут уместиться в памяти. Во время работы сжатия компрессор вызывает разгружающую данные функцию каждый раз, когда это накопило указанную сумму сжатых данных. Ваша разгружающая данные функция тогда пишет сжатые данные в некоторое другое устройство, освобождая пространство буфера для более сжатых данных. Компрессор начинает использовать разгружающую данные функцию со следующим изображением в последовательности.
Специальные замечания
Нет никакого параметра к
CompressSequenceBegin
функция, позволяющая Вам присваивать разгружающую данные функцию последовательности.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetCSequenceKeyFrameRate SetCSequenceKeyFrameRate
(OS X v10.9)Корректирует уровень ключевого кадра для текущей последовательности.
Объявление
Objective C
OSErr SetCSequenceKeyFrameRate ( ImageSequence seqID, long keyFrameRate );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.keyFrameRate
Максимальное количество кадров позволяется между ключевыми кадрами. Установите этот параметр на 1 для указания всех ключевых кадров, на 2 для указания любого кадра как ключевой кадр, к 3 для указания каждого третьего кадра как ключевой кадр, и т.д. Компрессор определяет оптимальное размещение для ключевых кадров, основанных на сумме избыточности между смежными изображениями в последовательности. Следовательно, компрессор может кадры клавиши Insert более часто, чем Вы запрашивать. Однако компрессор никогда не будет помещать меньше ключевых кадров, чем обозначено этим параметром. Когда Вы вызываете, при установке этого параметра на 0 Программа управления сжатием изображений только помещает ключевые кадры в сжатую последовательность
CompressSequenceFrame
, установкаcodecFlagForceKeyFrame
флаг вflags
параметр. Если Вы не запросили временное сжатие, компрессор игнорирует этот параметр; т.е. Вы передали 0 дляtemporalQuality
параметрCompressSequenceBegin
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Ключевые кадры обеспечивают точки, от которых может быть распакована временно сжатая последовательность. Используйте этот параметр для управления частотой, в которой компрессор помещает ключевые кадры в сжатую последовательность. Новый уровень ключевого кадра вступает в силу со следующим изображением в последовательности.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Устанавливает предпочтительный размер пакета для последовательности.
Объявление
Objective C
OSErr SetCSequencePreferredPacketSize ( ImageSequence seqID, long preferredPacketSizeInBytes );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.preferredPacketSizeInBytes
Предпочтительный размер пакета в байтах.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Сетцсекуенцепрев Сетцсекуенцепрев
(OS X v10.9)Позволяет приложению устанавливать пиксельную карту и граничный прямоугольник, используемый предыдущим кадром во временном сжатии.
Объявление
Objective C
OSErr SetCSequencePrev ( ImageSequence seqID, PixMapHandle prev, const Rect *prevRect );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.prev
Дескриптор к новому предыдущему буферу изображения. Необходимо выделить этот буфер с помощью той же пиксельной глубины и
ColorTable
структура как буфер исходного изображения, который Вы указали сsrc
параметр, когда Вы вызвалиCompressSequenceBegin
. Компрессор использует этот буфер для хранения предыдущего изображения, с которым текущее изображение сравнено при выполнении временного сжатия. Компрессор управляет содержанием этого буфера, основанного на нескольких соображениях, таких как уровень ключевого кадра и степень различия между сравненными изображениями. Текущее изображение сохранено в буфере, именуемомsrc
параметр кCompressSequenceBegin
.prevRect
Указатель на a
Rect
структура, определяющая часть предыдущего изображения для использования для временного сжатия. Компрессор использует эту часть предыдущего изображения как основание сравнения с текущим изображением. Этот прямоугольник должен быть тем же размером как исходный прямоугольник, который Вы указываете сsrcRect
параметр кCompressSequenceBegin
. Для получения границы карты исходного пикселя установите этот параметр наNIL
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Когда Вы начинаете сжимать последовательность, можно присвоить предыдущий кадровый буфер и прямоугольник с
prev
иprevRect
параметры кCompressSequenceBegin
. Если Вы указали aNIL
значение дляprev
параметр, компрессор выделяет внеэкранный буфер для предыдущего кадра. В любом случае можно использовать эту функцию для присвоения нового предыдущего кадрового буфера.Специальные замечания
Это - очень специализированная функция; Ваше приложение не должно должно быть вызывать его при большинстве обстоятельств.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetCSequenceQuality SetCSequenceQuality
(OS X v10.9)Корректирует пространственное или временное качество для текущей последовательности.
Объявление
Objective C
OSErr SetCSequenceQuality ( ImageSequence seqID, CodecQ spatialQuality, CodecQ temporalQuality );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.spatialQuality
Константа (см. ниже), который указывает желаемое сжатое качество изображения. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
temporalQuality
Константа (см. ниже), который указывает желаемую последовательность временное качество. Этот параметр управляет уровнем сжатия, которого Вы желаете относительно информации между последовательными кадрами в последовательности. Установите этот параметр на 0, чтобы препятствовать тому, чтобы компрессор применил временное сжатие к последовательности.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Вы первоначально устанавливаете пространственные и временные качественные значения по умолчанию для последовательности с
CompressSequenceBegin
. Новые качественные параметры вступают в силу со следующим кадром в последовательности.Специальные замечания
Если Вы изменяете качественные настройки при обработке последовательности изображений, Вы влияете на максимальный размер изображения, который можно получить во время сжатия последовательности. Следовательно, необходимо вызвать
GetMaxCompressionSize
после того, как Вы изменяете качественные настройки. Если максимальный размер увеличился, необходимо перераспределить буферы изображения для размещения размера увеличенного изображения.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetDSequenceImageBuffer GetDSequenceImageBuffer
(OS X v10.9)Определяет расположение внеэкранного буфера изображения, выделенного декомпрессором.
Объявление
Objective C
OSErr GetDSequenceImageBuffer ( ImageSequence seqID, GWorldPtr *gworld );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.gworld
Указатель на поле для получения указателя на
CGrafPort
структура, описывающая графический мир для буфера изображения. Вы не должны избавляться от этого графического мира; возвращенный указатель относится к буферу, который использует Программа управления сжатием изображений. От этого избавляются для Вас когдаCDSequenceEnd
функция вызвана. Если декомпрессор не выделил буфер,GetDSequenceImageBuffer
возвращает ошибочный код результата.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetDSequenceScreenBuffer GetDSequenceScreenBuffer
(OS X v10.9)Определяет расположение внеэкранного экранного буфера, выделенного декомпрессором.
Объявление
Objective C
OSErr GetDSequenceScreenBuffer ( ImageSequence seqID, GWorldPtr *gworld );
Параметры
seqID
Уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.gworld
Указатель на поле для получения указателя на
CGrafPort
структура, описывающая графический мир для экранного буфера. Вы не должны избавляться от этого графического мира; возвращенный указатель относится к буферу, который использует Программа управления сжатием изображений. От этого избавляются для Вас когдаCDSequenceEnd
функция вызвана. Если декомпрессор не выделил буфер,GetDSequenceScreenBuffer
возвращает ошибочный код результата.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
PtInDSequenceData PtInDSequenceData
(OS X v10.9)Тесты, чтобы видеть, содержит ли сжатое изображение данные в данная точка.
Объявление
Objective C
OSErr PtInDSequenceData ( ImageSequence seqID, void *data, Size dataSize, Point where, Boolean *hit );
Параметры
seqID
Уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.data
Указатель на сжатые данные в формате, указанном
desc
param
.dataSize
Size
из сжатых данных, именуемых по условиюparam
.where
QuickDraw
Point
структура имеющая значение (0,0), базируемый в верхнем левом углу изображения.hit
Указатель на поле для получения булевской переменной, указывающей, содержало ли изображение данные в указанной точке. Булевская переменная будет установлена в TRUE если точка, указанная
where
параметр содержится в сжатых данных изображения, указанных по условиюparam
, или FALSE, если указанная точка находится в пределах пустой части изображения.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
PtInDSequenceData
позволяет приложению выполнять тестирование хита на сжатых данных.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceAccuracy SetDSequenceAccuracy
(OS X v10.9)Приводит точность распаковки в соответствие с текущей последовательностью.
Объявление
Objective C
OSErr SetDSequenceAccuracy ( ImageSequence seqID, CodecQ accuracy );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.accuracy
Константа (см. ниже), который указывает точность, желаемую в распакованном изображении. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Параметр точности управляет, как точно декомпрессор распаковывает данные изображения. Некоторые декомпрессоры могут принять решение проигнорировать некоторые данные изображения для улучшения скорости распаковки. Новое значение точности вступает в силу со следующим кадром в последовательности.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceDataProc SetDSequenceDataProc
(OS X v10.9)Присваивает функцию загрузки данных последовательности.
Объявление
Objective C
OSErr SetDSequenceDataProc ( ImageSequence seqID, ICMDataProcRecordPtr dataProc, long bufferSize );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.dataProc
Указатель на
ICMDataProcRecord
структура. Когда Ваша программа вызывает, если поток данных не все в памятиDecompressSequenceFrame
, декомпрессор вызываетICMDataProc
обратный вызов, который Вы обеспечиваете, который загружает более сжатые данные. Если Вы не обеспечили такую функцию загрузки данных, или если Вы хотите, чтобы декомпрессор прекратил использовать Вашу функцию загрузки данных, установите этот параметр наNIL
. В этом случае все изображение должно быть в памяти в расположении, указанномdata
параметр кDecompressSequenceFrame
.bufferSize
Размер буфера, который будет использоваться функцией загрузки данных, указанной
dataProc
параметр. Если Вы не указали функцию загрузки данных, устанавливал этот параметр на 0.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Функции загрузки данных позволяют декомпрессорам работать с изображениями, которые не могут уместиться в памяти. Во время работы распаковки декомпрессор вызывает функцию загрузки данных каждый раз, когда это исчерпало свое предоставление сжатых данных.
Специальные замечания
Нет никакого параметра к
DecompressSequenceBegin
функция, позволяющая Вам присваивать загрузку данных, функционирует к последовательности.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceMask SetDSequenceMask
(OS X v10.9)Присваивает область отсечения последовательности.
Объявление
Objective C
OSErr SetDSequenceMask ( ImageSequence seqID, RgnHandle mask );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.mask
Дескриптор к области отсечения в системе координат назначения. Если указано, декомпрессор применяет эту маску к конечному изображению. Если Вы хотите прекратить маскировать, установите этот параметр на
NIL
. Новая область вступает в силу со следующим кадром в последовательности.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Декомпрессор рисует только, что часть распакованного изображения, находящегося в указанной области отсечения. Вы не должны избавляться от этой области, пока Программа управления сжатием изображений не закончена с последовательностью, или пока Вы не устанавливаете маску ни один в
NIL
или к различной области путем вызывания этой функции снова.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceMatrix SetDSequenceMatrix
(OS X v10.9)Присваивает отображающуюся матрицу последовательности.
Объявление
Objective C
OSErr SetDSequenceMatrix ( ImageSequence seqID, MatrixRecordPtr matrix );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.matrix
A
MatrixRecord
структура, указывающая, как преобразовать изображение во время распаковки. Можно использовать эту структуру, чтобы перевести или масштабировать изображение во время распаковки. Установить матрицу в идентификационные данные, передачуNIL
в этом параметре. Новая матрица вступает в силу со следующим кадром в последовательности.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Декомпрессор использует матрицу для создания специальных эффектов с распакованным изображением, таких как перевод или масштабирование изображения.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceMatte SetDSequenceMatte
(OS X v10.9)Присваивает матовое стекло смешения последовательности.
Объявление
Objective C
OSErr SetDSequenceMatte ( ImageSequence seqID, PixMapHandle matte, const Rect *matteRect );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.matte
Дескриптор к a
PixMap
структура, содержащая матовое стекло смешения. Можно использовать матовое стекло смешения, чтобы заставить распакованное изображение быть смешанным в целевую пиксельную карту. Матовое стекло может быть определено в любой поддерживаемой пиксельной глубине; матовая глубина не должна соответствовать источнику или целевым глубинам. Однако матовое стекло должно быть в системе координат исходного изображения. Если Вы хотите выключить матовое стекло смешения, установите этот параметр наNIL
.matteRect
Указатель на a
Rect
структура, определяющая граничный прямоугольник для матового стекла. Декомпрессор использует только, что часть матового стекла, находящегося в указанном прямоугольнике. Этот прямоугольник должен быть тем же размером как исходный прямоугольник, с которым Вы указываетеSetDSequenceSrcRect
или сsrcRect
параметр кDecompressSequenceBegin
. Использовать матовое стеклоPixMap
структура ограничивает как граничный прямоугольник, передачаNIL
в этом параметре.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Декомпрессор использует матовое стекло для смешивания распакованного изображения в целевую пиксельную карту. Новый матовый и матовый граничный прямоугольник вступает в силу со следующим кадром в последовательности. Вы не должны избавляться от матового стекла, пока Программа управления сжатием изображений не закончилась с последовательностью.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceSrcRect SetDSequenceSrcRect
(OS X v10.9)Определяет часть изображения для распаковки.
Объявление
Objective C
OSErr SetDSequenceSrcRect ( ImageSequence seqID, const Rect *srcRect );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.srcRect
Указатель на a
Rect
структура, определяющая часть изображения для распаковки. Этот прямоугольник должен лечь в граничном прямоугольнике сжатого изображения, определяющегося (0,0) и((**desc).width,(**desc).height)
, гдеdesc
относится кImageDescription
структура Вы предоставляете кDecompressSequenceBegin
. ЕслиsrcRect
параметрNIL
, прямоугольник установлен вRect
структура вImageDescription
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Декомпрессор действует на ту часть сжатого изображения, находящегося в этом прямоугольнике. Новый исходный прямоугольник вступает в силу со следующим кадром в последовательности.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceTimeCode SetDSequenceTimeCode
(OS X v10.9)Устанавливает значение временного кода для кадра, собирающегося быть распакованным.
Объявление
Objective C
OSErr SetDSequenceTimeCode ( ImageSequence seqID, void *timeCodeFormat, void *timeCodeTime );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.timeCodeFormat
Указатель на a
TimeCodeDef
структура. Вы предоставляете надлежащую информацию определения временного кода для следующего кадра, который будет распакован.timeCodeTime
Указатель на a
TimeCodeRecord
структура. Вы обеспечиваете значение подходящего времени для следующего кадра в текущей последовательности.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Видео обработчик носителей QuickTime использует эту функцию для установки информации о временном коде для фильма. Когда фильм, содержащий информацию о временном коде, начинает играть, обработчик носителей вызывает эту функцию, поскольку это обрабатывает первый кадр фильма. Программа управления сжатием изображений передает информацию о временном коде, сквозную компоненту декомпрессора изображения. Т.е. Программа управления сжатием изображений не делает копию ни одной этой информации о временном коде. В результате необходимо удостовериться что данные, именуемые
timeCodeFormat
иtimeCodeTime
параметры допустимы, пока не завершается следующая работа распаковки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceTransferMode SetDSequenceTransferMode
(OS X v10.9)Устанавливает режим, используемый при рисовании распакованного изображения.
Объявление
Objective C
OSErr SetDSequenceTransferMode ( ImageSequence seqID, short mode, const RGBColor *opColor );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.mode
Константа (см. ниже), который указывает режим передачи, который будет использоваться при рисовании распакованного изображения. См. также
Graphics Transfer Modes
. Посмотрите эти константы:opColor
Содержит указатель на цвет для использования в
addPin
,subPin
,blend
, иtransparent
операции. Программа управления сжатием изображений передает этот цвет QuickDraw как надлежащий. ЕслиNIL
, opcolor оставлен без изменений.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Для любой данной последовательности значение по умолчанию opColor значение является 50-процентным серым, и режим по умолчанию
ditherCopy
. Новый режим вступает в силу со следующим кадром в последовательности.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCSequenceDataRateParams GetCSequenceDataRateParams
(OS X v10.9)Получает параметры скорости передачи данных, ранее установленные с SetCSequenceDataRateParams.
Объявление
Objective C
OSErr GetCSequenceDataRateParams ( ImageSequence seqID, DataRateParamsPtr params );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
CompressSequenceBegin
.params
Точки к
data
структура параметров уровня связалась с идентификатором последовательности, указанным вseqID
параметр.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetCSequenceDataRateParams SetCSequenceDataRateParams
(OS X v10.9)Передает информацию к компрессорам, которые могут ограничить сжатые данные в определенной последовательности к определенной скорости передачи данных.
Объявление
Objective C
OSErr SetCSequenceDataRateParams ( ImageSequence seqID, DataRateParamsPtr params );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.params
Указатель на a
DataRateParams
структура.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GDGetScale GDGetScale
(OS X v10.9)Возвращает текущий масштаб данного экранного устройства графики.
Объявление
Objective C
OSErr GDGetScale ( GDHandle gdh, Fixed *scale, short *flags );
Параметры
gdh
Дескриптор к экранному устройству графики.
scale
Точки к полю фиксированной точки для содержания результата масштаба.
flags
Точки к короткому целому, возвращающемуся
status
параметр отмечает для видеодрайвера. В настоящее время, 0 всегда возвращается в этом поле.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GDHasScale GDHasScale
(OS X v10.9)Возвращает самое близкое масштабирование, что определенное экранное устройство может быть установлено в в данной пиксельной глубине.
Объявление
Objective C
OSErr GDHasScale ( GDHandle gdh, short depth, Fixed *scale );
Параметры
gdh
Дескриптор к экранному устройству графики.
depth
Пиксельная глубина экранного устройства.
scale
Точки к фиксированной точке масштабируют значение. На вводе это поле должно быть установлено в желаемое значение масштаба. На выводе это поле будет содержать самый близкий масштаб, доступный для данной глубины. Масштаб 0x10000 указывает, что нормальный размер, 0x20000 указывает двойной размер и т.д.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция возвраты, масштабирующие информацию для определенного экранного устройства для требуемой глубины. Эта функция позволяет Вам запрашивать экранное устройство, фактически не изменяя его. Например, если Вы указываете 0x20000, но экранное устройство не поддерживает его,
GDHasScale
возвратыnoErr
и масштаб 0x10000. Поскольку эта функция проверяет на поддерживаемую глубину, Ваша требуемая глубина должна поддерживаться экранным устройством.Специальные замечания
GDHasScale
ссылается на видеодрайвер через графическую структуру устройства.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GDSetScale GDSetScale
(OS X v10.9)Устанавливает экранное устройство графики в новый масштаб.
Объявление
Objective C
OSErr GDSetScale ( GDHandle gdh, Fixed scale, short flags );
Параметры
gdh
Дескриптор к экранному устройству графики.
scale
Значение масштаба фиксированной точки.
flags
Точки к короткому целому. Это возвращается
status
параметр отмечает для видеодрайвера. В настоящее время, 0 всегда возвращается в этом поле.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Возвращает структуру ImageDescription, которую можно использовать, чтобы помочь создать демонстрационное описание для эффекта.
Объявление
Objective C
OSErr MakeImageDescriptionForEffect ( OSType effectType, ImageDescriptionHandle *idh );
Параметры
effectType
Четыре кода символа, идентифицирующие тип эффекта сделать описание изображения для. Посмотрите
Effects Codes
.idh
Дескриптор
ImageDescription
структура. На записи этот параметр обычно указывает наImageDescription
структура, содержание которойNIL
. По возврату структура правильно заполнена для выбранного типа эффекта.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Для создания демонстрационного описания Вы создаете и заполняете структуру данных типа
ImageDescription
. Эта функция упрощает этот процесс. Только демонстрационные описания, сделанные с этой функцией, могут использоваться в сложенных эффектах, где одна дорожка эффекта действует как источник для другого.Следующий пример кода создает выборку description:.
// MakeImageDescriptionForEffect coding example
// Return a new image description with default and specified values.
ImageDescriptionHandle QTEffSeg_MakeSampleDescription (
OSType theEffectType, short theWidth, short theHeight)
{
ImageDescriptionHandle mySampleDesc =NIL;
#if USES_MAKE_IMAGE_DESC_FOR_EFFECT
OSErr myErr =noErr;
// create a new sample description
myErr =MakeImageDescriptionForEffect(theEffectType, &mySampleDesc);
if (myErr !=noErr)
return(NIL);
#else
// create a new sample description
mySampleDesc =(ImageDescriptionHandle)
NewHandleClear(sizeof(ImageDescription));
if (mySampleDesc ==NIL)
return(NIL);
// fill in the fields of the sample description
(**mySampleDesc).cType =theEffectType;
(**mySampleDesc).idSize =sizeof(ImageDescription);
(**mySampleDesc).hRes =72L << 16;
(**mySampleDesc).vRes =72L << 16;
(**mySampleDesc).frameCount =1;
(**mySampleDesc).depth =0;
(**mySampleDesc).clutID =-1;
#endif
(**mySampleDesc).vendor =kAppleManufacturer;
(**mySampleDesc).temporalQuality =codecNormalQuality;
(**mySampleDesc).spatialQuality =codecNormalQuality;
(**mySampleDesc).width =theWidth;
(**mySampleDesc).height =theHeight;
return(mySampleDesc);
}
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
AddFilePreview AddFilePreview
(OS X v10.9)Добавляет предварительный просмотр к файлу.
Объявление
Objective C
OSErr AddFilePreview ( short resRefNum, OSType previewType, Handle previewData );
Параметры
resRefNum
Файл ресурсов для этой работы. Вы, должно быть, открыли этот файл ресурсов с разрешением записи. Если существует предварительный просмотр в указанном файле, Панель инструментов Фильма заменяет тот предварительный просмотр новым.
previewType
Тип ресурса, который будет присвоен предварительному просмотру. Этот тип должен соответствовать типу данных, хранивших в предварительном просмотре. Например, при создании изображения QuickDraw, которое Вы хотите использовать в качестве предварительного просмотра для файла, необходимо установить
previewType
параметр к'PICT'
.previewData
Дескриптор к данным предварительного просмотра. Например, если бы данные предварительного просмотра являются изображением, Вы обеспечили бы дескриптор изображения.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Вы, должно быть, создали данные предварительного просмотра сами. Если указанному файлу уже определили предварительный просмотр,
AddFilePreview
функционируйте заменяет его новым предварительным просмотром.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
MakeFilePreview MakeFilePreview
(OS X v10.9)Создает предварительный просмотр для файла.
Объявление
Objective C
OSErr MakeFilePreview ( short resRefNum, ICMProgressProcRecordPtr progress );
Параметры
resRefNum
Файл ресурсов для этой работы. Вы, должно быть, открыли этот файл ресурсов с разрешением записи. Если существует предварительный просмотр в указанном файле, Панель инструментов Фильма заменяет тот предварительный просмотр новым.
progress
Указатель на
ICMProgressProcRecord
структура. Во время процесса создания предварительного просмотра Панель инструментов Фильма может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе. Можно тогда использовать эту информацию для информирования пользователя.Установите этот параметр на-1 для использования функции прогресса по умолчанию. При указании функции прогресса она должна соответствовать интерфейсу, определенному для функций прогресса Программы управления сжатием изображений; см. «Программу управления сжатием изображений» в Инсайде Макинтоше: QuickTime для получения дополнительной информации. Установите этот параметр на
NIL
препятствовать тому, чтобы Панель инструментов Фильма вызвала функцию прогресса.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Необходимо создать предварительный просмотр каждый раз, когда Вы сохраняете фильм. Вы указываете файл путем предоставления ссылки на ее файл ресурсов. Вы, должно быть, открыли этот файл ресурсов с разрешением записи. Если существует предварительный просмотр в указанном файле, Панель инструментов Фильма заменяет тот предварительный просмотр новым.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCompressedImageSize GetCompressedImageSize
(OS X v10.9)Определяет размер, в байтах, сжатого изображения.
Объявление
Objective C
OSErr GetCompressedImageSize ( ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize );
Параметры
desc
Дескриптор к
ImageDescription
структура, определяющая сжатое изображение для работы.data
Точки к сжатым данным изображения. Этот указатель должен содержать 32-разрядный чистый адрес.
bufferSize
Размер буфера, который будет использоваться функцией загрузки данных, указанной
dataProc
параметр. Если Вы не указали функцию загрузки данных, устанавливал этот параметр на 0.dataProc
Точки к
ICMDataProc
обратный вызов. Когда Ваша программа вызывает, если поток данных не все в памятиGetCompressedImageSize
, компрессор вызывает функцию, Вы обеспечиваете, что загружает более сжатые данные. Если Вы не обеспечили обратный вызов загрузки данных, устанавливал этот параметр наNIL
. В этом случае все изображение должно быть в памяти в расположении, указанномdata
параметр.dataSize
Указатель на поле, которое должно получить размер, в байтах, сжатого изображения.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Большинство приложений не должно использовать эту функцию, потому что сжатые изображения имеют соответствие
ImageDescription
структура с полем размера. Если у Вас нет структуры описания изображения связанной с Вашими данными, только необходимо использовать эту функцию; например, когда Вы вынимаете сжатое изображение из фильма один кадр за один раз.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCompressionTime GetCompressionTime
(OS X v10.9)Определяет предполагаемое количество времени, требуемое сжимать данное изображение.
Объявление
Objective C
OSErr GetCompressionTime ( PixMapHandle src, const Rect *srcRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *compressTime );
Параметры
src
Дескриптор к исходному изображению. Исходное изображение должно быть сохранено в структуре пиксельной карты. Компрессор использует только битовую глубину этого изображения для определения времени сжатия. Можно установить этот параметр на
NIL
если Вы интересуетесь только информацией о качественных настройках.srcRect
Указатель на прямоугольник, определяющий часть исходного изображения для сжатия. Можно установить этот параметр на
NIL
если Вы интересуетесь только информацией о качественных настройках.GetCompressionTime
тогда использует границы карты исходного пикселя.colorDepth
Глубина, на которой должно быть сжато изображение. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений. Ваша программа может определить, какие глубины поддерживаются данным компрессором путем исследования информационной структуры компрессора, возвращенной
GetCodecInfo
функцияcType
Необходимо установить этот параметр на допустимый постоянный тип компрессора; посмотрите
Codec Identifiers
.codec
Укажите определенный компрессор путем установки этого параметра на его идентификатор компрессора. Также можно использовать специальный идентификатор (см. ниже). Можно также указать экземпляр компонента. Это может быть полезно, если Вы ранее установили некоторый параметр на определенном экземпляре поля кодека и хотите удостовериться, что указанный экземпляр используется для той работы. Посмотрите эти константы:
spatialQuality
Указатель на поле, содержащее константу (см. ниже), который определяет желаемое сжатое качество изображения. Программа управления сжатием изображений устанавливает это поле в самое близкое фактическое качество, которого может достигнуть компрессор. Если Вы не интересуетесь этой информацией, передачей
NIL
в этом параметре. Посмотрите эти константы:codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
temporalQuality
Указатель на поле, содержащее константу (см. ниже), который определяет желаемое временное качество. Используйте это значение только с изображениями, которые являются частью последовательностей изображений. Программа управления сжатием изображений устанавливает это поле в самое близкое фактическое качество, которого может достигнуть компрессор. Если Вы не интересуетесь этой информацией, передачей
NIL
в этом параметре.compressTime
Указатель на поле для получения времени сжатия в миллисекундах. Если компрессор не может определить количество времени, требуемое сжимать изображение или если компрессор не поддерживает эту функцию, это поле установлено в 0. Если Вы не интересуетесь этой информацией, передачей
NIL
в этом параметре.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет Вам проверять, что качественные настройки, которых Вы желаете, поддерживаются данным компонентом компрессора. Вы указываете характеристики сжатия, включая тип сжатия и качество, вместе с изображением. Программа управления сжатием изображений возвращает максимальное время сжатия для указанного изображения и параметров. Обратите внимание на то, что некоторые компрессоры могут не поддерживать эту функцию. Если компонент, который Вы указываете, не поддерживает эту функцию, Программа управления сжатием изображений возвращает временную стоимость 0.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetMaxCompressionSize GetMaxCompressionSize
(OS X v10.9)Определяет максимальный размер, которым изображение будет после сжатия.
Объявление
Objective C
OSErr GetMaxCompressionSize ( PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, long *size );
Параметры
src
Дескриптор к исходному изображению. Исходное изображение должно быть сохранено в структуре пиксельной карты. Компрессор использует только размер изображения и пиксельную глубину для определения максимального размера сжатого изображения.
srcRect
Указатель на прямоугольник, определяющий часть исходного изображения, которое должно быть сжато. Можно установить этот параметр на
NIL
если Вы интересуетесь только информацией о качественных настройках.GetCompressionTime
тогда использует границы карты исходного пикселя.colorDepth
Глубина, на которой должно быть сжато изображение. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений. Ваша программа может определить, которым глубины поддерживаются данным компрессором путем исследования информационной структуры компрессора, возвращенной
GetCodecInfo
.quality
Константа (см. ниже), который определяет желаемое сжатое качество изображения. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
cType
Необходимо установить этот параметр на допустимый постоянный тип компрессора; посмотрите
Codec Identifiers
.codec
Идентификатор компрессора. Укажите определенный компрессор путем установки этого параметра на его идентификатор компрессора. Также можно использовать специальный идентификатор (см. ниже). Можно также указать экземпляр компонента. Это может быть полезно, если Вы ранее установили некоторый параметр на определенном экземпляре поля кодека и хотите удостовериться, что указанный экземпляр используется для той работы. Посмотрите эти константы:
size
Указатель на поле для получения размера, в байтах, сжатого изображения.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция возвращает максимальный получающийся размер для указанного изображения и параметров. Ваше приложение может тогда использовать эту информацию для выделения памяти для работы сжатия. Следующий пример кода иллюстрирует свое использование:
// GetMaxCompressionSize coding example
// See "Discovering QuickTime," page 286
PicHandle GetQTCompressedPict (PixMapHandle hpmImage)
{
long lMaxCompressedSize =0;
Handle hCompressedData =NIL;
Ptr pCompressedData;
ImageDescriptionHandle hImageDesc =NIL;
OSErr nErr;
PicHandle hpicPicture =NIL;
Rect rectImage =(**hpmImage).bounds;
CodecType dwCodecType =kJPEGCodecType;
CodecComponent codec =(CodecComponent)anyCodec;
CodecQ dwSpatialQuality =codecNormalQuality;
short nDepth =0; // let ICM choose depth
nErr =GetMaxCompressionSize(hpmImage, &rectImage, nDepth,
dwSpatialQuality,
dwCodecType,
(CompressorComponent)codec,
&lMaxCompressedSize);
if (nErr !=noErr)
return NIL;
hImageDesc =(ImageDescriptionHandle)NewHandle(4);
hCompressedData =NewHandle(lMaxCompressedSize);
if ((hCompressedData !=NIL) && (hImageDesc !=NIL)) {
MoveHHi(hCompressedData);
HLock(hCompressedData);
pCompressedData =StripAddress(*hCompressedData);
nErr =CompressImage(hpmImage,
&rectImage,
dwSpatialQuality,
dwCodecType,
hImageDesc,
pCompressedData);
if (nErr ==noErr) {
ClipRect(&rectImage);
hpicPicture =OpenPicture(&rectImage);
nErr =DecompressImage(pCompressedData,
hImageDesc,
hpmImage,
&rectImage,
&rectImage,
srcCopy,
NIL);
ClosePicture();
}
if (theErr || (GetHandleSize((Handle)hpicPicture) ==
sizeof(Picture))) {
KillPicture(hpicPicture);
hpicPicture =NIL;
}
}
if (hImageDesc !=NIL)
DisposeHandle((Handle)hImageDesc);
if (hCompressedData !=NIL)
DisposeHandle(hCompressedData);
return hpicPicture;
}
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetSimilarity GetSimilarity
(OS X v10.9)Сравнивает сжатое изображение с изображением, сохраненным в пиксельной карте, и возвращает значение, указывающее относительное подобие двух изображений.
Объявление
Objective C
OSErr GetSimilarity ( PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity );
Параметры
src
Дескриптор к несжатому изображению. Изображение должно быть сохранено в структуре пиксельной карты.
srcRect
Указатель на прямоугольник, определяющий часть изображения для сравнения со сжатым изображением. Этот прямоугольник должен быть тем же размером как изображение, описанное
ImageDescription
структура, указаннаяdesc
параметр.desc
Дескриптор к
ImageDescription
структура, определяющая сжатое изображение для работы.data
Точки к сжатым данным изображения. Этот указатель должен содержать 32-разрядный чистый адрес.
similarity
Указатель на поле, которое должно получить значение подобия. Компрессорные установки это поле для отражения относительного подобия двух изображений. Допустимые значения колеблются от 0 (абсолютно отличающийся) от 1,0 (идентичный).
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CodecManagerVersion CodecManagerVersion
(OS X v10.9)Определяет версию установленной Программы управления сжатием изображений.
Объявление
Objective C
OSErr CodecManagerVersion ( long *version );
Параметры
version
Указатель на длинное целое, которое должно получить информацию о версии. Программа управления сжатием изображений возвращает свой номер версии в это расположение. Номер версии является значением длинного целого.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция возвращает информацию о версии как значение длинного целого. Используйте эту функцию для получения номера версии, связанного с Программой управления сжатием изображений, установленной на определенном компьютере.
Специальные замечания
Программа управления сжатием изображений обеспечивает много функций, позволяющих Вашему приложению получать информацию о средствах, доступных для сжатия изображений или о сжатых изображениях. Ваше приложение может использовать некоторые из этих функций, чтобы выбрать определенный компрессор или декомпрессор для данной работы или определить сколько памяти для выделения для получения распакованного изображения. Кроме того, Ваше приложение может использовать некоторые из этих функций для определения возможностей компонентов, которые доступны на компьютерной системе пользователя. Можно тогда обусловить опции, которые программа делает доступным для пользователя на основе конфигурации системы пользователя.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DisposeCodecNameList DisposeCodecNameList
(OS X v10.9)Избавляется от структуры списка имени компрессора Вы полученный путем вызова GetCodecNameList.
Объявление
Objective C
OSErr DisposeCodecNameList ( CodecNameSpecListPtr list );
Параметры
list
Точки к компрессору называют список, от которого избавятся. Вы получаете список компрессора путем вызова
GetCodecNameList
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Определяет, какой из установленных компрессоров или декомпрессоров был выбран к полевым запросам, выполненным при помощи одного из специальных идентификаторов компрессора.
Объявление
Objective C
OSErr FindCodec ( CodecType cType, CodecComponent specCodec, CompressorComponent *compressor, DecompressorComponent *decompressor );
Параметры
cType
Необходимо установить этот параметр на допустимый постоянный тип компрессора; посмотрите
Codec Identifiers
.specCodec
Специальное значение идентификатора кодека (см. ниже). Посмотрите эти константы:
compressor
Указатель на поле для получения идентификатора для компонента компрессора. Программа управления сжатием изображений возвращает идентификатор компрессора, встречающего специальные характеристики, которые Вы указываете в
specCodec
параметр. Обратите внимание на то, что этот идентификатор может отличаться отvalue
из поля, именуемогоdecompressor
поле. Программа управления сжатием изображений устанавливает это поле в 0, если это не может найти подходящий компонент компрессора. Установите этот параметр наNIL
если Вы не хотите эту информацию.decompressor
Указатель на поле для получения идентификатора для компонента декомпрессора. Программа управления сжатием изображений возвращает идентификатор декомпрессора, встречающего специальные характеристики, которые Вы указываете в
specCodec
параметр. Обратите внимание на то, что этот идентификатор может отличаться отvalue
из поля, именуемогоcompressor
поле. Программа управления сжатием изображений устанавливает это поле в 0, если это не может найти подходящий компонент декомпрессора. Установите этот параметр наNIL
если Вы не хотите эту информацию.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Некоторые функции Программы управления сжатием изображений позволяют Вам указывать определенный компонент компрессора его идентификатором. Например, можно использовать
codec
параметр кCompressSequenceBegin
указать определенный компрессор, чтобы сделать сжатие. Программа управления сжатием изображений также поддерживает несколько специальных идентификаторов (см.specCodec
Константы, выше), которые позволяют Вам осуществлять некоторый контроль над компонентом для данного действия, не имея необходимость знать его идентификатор.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCodecInfo GetCodecInfo
(OS X v10.9)Информация о возвратах о единственном компоненте компрессора.
Объявление
Objective C
OSErr GetCodecInfo ( CodecInfo *info, CodecType cType, CodecComponent codec );
Параметры
info
Указатель на a
CodecInfo
структура.GetCodecInfo
подробная информация возвратов о надлежащем компоненте компрессора в этой структуре.cType
Установите этот параметр на допустимый постоянный тип компрессора; посмотрите
Codec Identifiers
. Если Вы хотите информацию о каком-либо компрессоре типа, указанного этим параметром, устанавливаетеcodec
параметр к 0. Программа управления сжатием изображений тогда возвращает информацию о первом компрессоре, который это находит типа, который Вы указали.codec
Установите этот параметр на идентификатор компонента определенного компрессора для запроса, или к 0 для любого компрессора. Идентификаторы компонента доступны в
CodecNameSpecList
структура, возвращеннаяGetCodecNameList
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCodecNameList GetCodecNameList
(OS X v10.9)Получает список установленных компонентов компрессора или типов.
Объявление
Objective C
OSErr GetCodecNameList ( CodecNameSpecListPtr *list, short showAll );
Параметры
list
Указатель на поле, которое должно получить указатель на a
CodecNameSpecList
структура. Программа управления сжатием изображений создает надлежащий список и возвращает указатель на тот список в поле, указанном этим параметром.showAll
Короткое целое, управляющее содержанием
list
. Установите этот параметр на 1 для получения списка имен всех установленных компонентов компрессора; возвращенный список содержит одну запись для каждого установленного компрессора. Установите этот параметр на 0 для получения списка типов установленных компонентов компрессора; возвращенный список содержит одну запись для каждого установленного типа компрессора.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
CodecType
тип данных определяет поле вCodecNameSpec
структура, идентифицирующая метод сжатия, используемый данным компонентом компрессора. ПосмотритеCodec Identifiers
. Группа технической поддержки Разработчика Apple Computer присваивает эти значения так, чтобы они остались уникальными. Эти значения соответствуют, в свою очередь, к текстовым строкам, которые могут идентифицировать метод сжатия для пользователя.Специальные замечания
GetCodecNameList
создаетCodecNameSpecList
структура в текущей зоне «кучи» Вашего приложения.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMDecompressComplete ICMDecompressComplete
(OS X v10.9)Сигнализирует завершение работы распаковки.
Объявление
Objective C
void ICMDecompressComplete ( ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.err
Указывает, успешно выполнилась ли работа или отказавший. Установите этот параметр на 0 для успешных операций. Для неработающих операций, набор код ошибки, подходящий для отказа. Для отмененных операций (например, когда ICM вызывает Ваш компонент
ImageCodecFlush
функция), устанавливает этот параметр на-1.flag
Флаги завершения (см. ниже). Обратите внимание на то, что можно установить больше чем один из этих флагов к 1. Посмотрите эти константы:
codecCompletionSource
codecCompletionDest
codecCompletionDontUnshield
completionRtn
Указатель на
ICMCompletionProcRecord
структура. Та структура идентифицирует функцию завершения приложения и содержит ссылочную константу, связанную с кадром. Ваш компонент получает эту структуру как частьCodecDecompressParams
структура, предоставленная Программой управления сжатием изображений в начале работы распаковки.Обсуждение
Ваш компонент должен вызвать эту функцию в конце операций распаковки.
Специальные замечания
До QuickTime 2.0 компоненты декомпрессора вызвали функцию завершения приложения непосредственно. Для совместимости тот метод все еще поддерживается за исключением запланированных асинхронных операций распаковки, которые должны использовать
ICMDecompressComplete
вызвать. Более новые декомпрессоры должны всегда использоватьICMDecompressComplete
вместо того, чтобы вызывать функцию завершения непосредственно, независимо от типа работы распаковки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMShieldSequenceCursor ICMShieldSequenceCursor
(OS X v10.9)Скрывает курсор во время операций распаковки.
Объявление
Objective C
OSErr ICMShieldSequenceCursor ( ImageSequence seqID );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
, для которого можно экранировать курсор.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Для поведения отображения правильного образа курсор должен быть экранирован (скрытый) во время распаковки. По умолчанию Программа управления сжатием изображений обрабатывает курсор для Вас, скрывая его в начале работы распаковки и показывая его в конце. С запланированной асинхронной распаковкой, однако, ICM не может выполнить столь же точную работу управления курсором, потому что это не знает точно, когда запланированные операции фактически начинаются и заканчиваются. В то время как ICM может все еще управлять курсором, он должен скрыть курсор, когда каждый запрос ставится в очередь, скорее чем, когда обслуживается запрос. Это может привести к курсору, остающемуся скрытым в течение долгих промежутков времени. Для достижения лучшего поведения курсора можно принять решение управлять курсором в компоненте декомпрессора. Если Вы так выбираете, можно использовать эту функцию для сокрытия курсора; когда Вы вызываете, ICM выводит на экран курсор
ICMDecompressComplete
. Этим способом курсор скрыт только, когда Ваш компонент распаковывает и выводит на экран кадр.Специальные замечания
Во время прерывания может быть вызвана эта функция.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Располагает транскодированные данные изображения.
Объявление
Objective C
OSErr ImageTranscodeDisposeFrameData ( ImageTranscodeSequence its, void *dstData );
Параметры
its
Последовательность транскодера изображения, использовавшаяся для генерации транскодированных данных.
dstData
Указатель на транскодированные данные изображения, сгенерированные
ImageTranscodeFrame
функция.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Когда транскодированные данные изображения, возвращенные
ImageTranscodeFrame
больше не необходим, используйте эту функцию для избавления от данных. Только транскодер изображения, генерировавший данные, может должным образом избавиться от них.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ImageTranscodeFrame ImageTranscodeFrame
(OS X v10.9)Транскодирует кадр данных изображения.
Объявление
Objective C
OSErr ImageTranscodeFrame ( ImageTranscodeSequence its, void *srcData, long srcDataSize, void **dstData, long *dstDataSize );
Параметры
its
Транскодер изображения упорядочивает для использования для выполнения работы транскодирования.
srcData
Указатель на исходные данные для транскодирования.
srcDataSize
Размер сжатых данных исходного изображения в байтах.
dstData
По возврату, указателю на транскодированные данные изображения.
dstDataSize
По возврату, размеру транскодированных данных изображения.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
После создания последовательности транскодера изображения, использования
ImageTranscodeSequenceBegin
, используйте эту функцию для транскодирования кадра данных изображения. Вызывающая сторона ответственна за избавление от транскодированного использования данныхImageTranscodeDisposeFrameData
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ImageTranscodeSequenceBegin ImageTranscodeSequenceBegin
(OS X v10.9)Инициирует работу последовательности транскодера изображения.
Объявление
Objective C
OSErr ImageTranscodeSequenceBegin ( ImageTranscodeSequence *its, ImageDescriptionHandle srcDesc, OSType destType, ImageDescriptionHandle *dstDesc, void *data, long dataSize );
Параметры
its
Транскодер изображения упорядочивает идентификатор. Если работа перестала работать, значение указало, установлен в
NIL
.srcDesc
ImageDescription
структура для источника сжала данные изображения.destType
Желаемый формат сжатия, в который можно транскодировать исходные данные.
dstDesc
По возврату,
ImageDescription
структура для данных, которые будут сгенерированы последовательностью транскодирования изображения.data
Указатель на первый кадр сжатых данных, который транскодирует. Набор к
NIL
из не доступный.dataSize
Размер сжатых данных, в байтах. Набор к 0, если не предоставлены никакие данные.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки. Если никакой транскодер не доступен для выполнения требуемой работы транскодирования, acantFindHandler
ошибка возвращается.Обсуждение
Эта функция начинает работу последовательности транскодера изображения и возвращает идентификатор последовательности в
its
параметр. Вызывающая сторона ответственна за избавлениеImageDescription
структура, возвращающаяся вdstDesc
параметр.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ImageTranscodeSequenceEnd ImageTranscodeSequenceEnd
(OS X v10.9)Заканчивает работу последовательности транскодера изображения.
Объявление
Objective C
OSErr ImageTranscodeSequenceEnd ( ImageTranscodeSequence its );
Параметры
its
Идентификатор транскодера изображения упорядочивает для расположения. Безопасно передать значение 0 в этом параметре.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Необходимо вызвать эту функцию, чтобы завершить работу последовательности транскодера изображения и избавиться от последовательности.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
MakeThumbnailFromPicture MakeThumbnailFromPicture
(OS X v10.9)Создает изображение миниатюр из указанной структуры Изображения.
Объявление
Objective C
OSErr MakeThumbnailFromPicture ( PicHandle picture, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc );
Параметры
picture
Дескриптор к изображению, из которого должна быть извлечена миниатюра. Изображение должно быть сохранено в a
Picture
структура.colorDepth
Глубина, на которой, вероятно, будет просмотрено изображение. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений.
thumbnail
Дескриптор месту назначения
Picture
структура для изображения миниатюр. Компрессор изменяет размеры этого дескриптора для получающихся данных.progressProc
Указатель на
ICMProgressProcRecord
структура. Во время работы Программа управления сжатием изображений будет иногда вызывать функцию для создания отчетов о ее прогрессе. Можно обеспечить функцию через эту структуру. Если Вы не обеспечили функцию прогресса, устанавливал этот параметр наNIL
. При передаче значения-1 Вы получаете стандартную функцию прогресса.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
MakeThumbnailFromPictureFile MakeThumbnailFromPictureFile
(OS X v10.9)Создает изображение миниатюр из указанного файла изображения.
Объявление
Objective C
OSErr MakeThumbnailFromPictureFile ( short refNum, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc );
Параметры
refNum
Число ссылки на файл для файла PICT, из которого должна быть извлечена миниатюра.
colorDepth
Глубина, на которой, вероятно, будет просмотрено изображение. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений.
thumbnail
Дескриптор к структуре конечного изображения для изображения миниатюр. Компрессор изменяет размеры этого дескриптора для получающихся данных.
progressProc
Указатель на
ICMProgressProcRecord
структура. Во время работы Программа управления сжатием изображений будет иногда вызывать функцию для создания отчетов о ее прогрессе. Можно обеспечить функцию через эту структуру.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
MakeThumbnailFromPixMap MakeThumbnailFromPixMap
(OS X v10.9)Создает изображение миниатюр из указанной структуры PixMap.
Объявление
Objective C
OSErr MakeThumbnailFromPixMap ( PixMapHandle src, const Rect *srcRect, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc );
Параметры
src
Дескриптор к изображению, из которого должна быть извлечена миниатюра. Изображение должно быть сохранено в a
PixMap
структура.srcRect
Указатель на a
Rect
структура, определяющая часть изображения для использования для миниатюры.colorDepth
Глубина, на которой, вероятно, будет просмотрено изображение. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений.
thumbnail
Дескриптор к структуре конечного изображения для изображения миниатюр. Компрессор изменяет размеры этого дескриптора для получающихся данных.
progressProc
Указатель на
ICMProgressProcRecord
структура. Во время работы Программа управления сжатием изображений будет иногда вызывать функцию для создания отчетов о ее прогрессе. Можно обеспечить функцию через эту структуру.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ConcatMatrix ConcatMatrix
(OS X v10.9)Связывает две матрицы, комбинируя трансформации, описанные обеими матрицами в единственную матрицу.
Объявление
Objective C
void ConcatMatrix ( const MatrixRecord *a, MatrixRecord *b );
Параметры
a
Указатель на исходную матрицу.
b
Указатель на целевую матрицу.
ConcatMatrix
функция выполняет работу умножения матриц на этих двух матрицах и оставляет результат в матрице указанным этим параметром.Обсуждение
Это - работа умножения матриц, в результате который [B] = [B] x. Обратите внимание на то, что умножение матриц не является коммутативным.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CopyMatrix CopyMatrix
(OS X v10.9)Копирует содержание одной матрицы в другую матрицу.
Объявление
Objective C
void CopyMatrix ( const MatrixRecord *m1, MatrixRecord *m2 );
Параметры
m1
Исходная матрица для работы копии.
m2
Указатель на целевую матрицу для работы копии.
CopyMatrix
копирует значения с матрицы, указанной m1 параметром в эту матрицу.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
EqualMatrix EqualMatrix
(OS X v10.9)Сравнивает две матрицы и возвращает результат, указывающий, равны ли матрицы.
Объявление
Objective C
Boolean EqualMatrix ( const MatrixRecord *m1, const MatrixRecord *m2 );
Параметры
m1
Указатель на одну матрицу для сравнить работы.
m2
Указатель на другую матрицу для сравнить работы.
Возвращаемое значение
TRUE, если матрицы равны, FALSE иначе.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetMatrixType GetMatrixType
(OS X v10.9)Получает информацию о матрице.
Объявление
Objective C
short GetMatrixType ( const MatrixRecord *m );
Параметры
m
Точки к
MatrixRecord
структура для этой работы.Возвращаемое значение
Константа (см. ниже), который определяет тип матрицы.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
InverseMatrix InverseMatrix
(OS X v10.9)Создает новую матрицу, которая является инверсией указанной матрицы.
Объявление
Objective C
Boolean InverseMatrix ( const MatrixRecord *m, MatrixRecord *im );
Параметры
m
Указатель на источник
MatrixRecord
структура для работы.im
Указатель на a
MatrixRecord
структура, которая должна получить новую матрицу. Функция обновляет эту структуру так, чтобы это содержало матрицу, которая является инверсией указанногоm
параметр.Возвращаемое значение
Булево значение TRUE, если
InverseMatrix
смог создать обратную матрицу, FALSE иначе.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Изменяет существующую матрицу так, чтобы она определила трансформацию от одного прямоугольника до другого.
Объявление
Objective C
void MapMatrix ( MatrixRecord *matrix, const Rect *fromRect, const Rect *toRect );
Параметры
matrix
Указатель на матричную структуру.
MapMatrix
функция изменяет эту матрицу так, чтобы это выполнило трансформацию в прямоугольнике, указанномtoRect
параметр, походящий на трансформацию это в настоящее время, выполняет в прямоугольнике, указанномfromRect
параметр.fromRect
Указатель на источник
Rect
структура.toRect
Указатель на место назначения
Rect
структура.Обсуждение
MapMatrix
влияние только масштабирование и атрибуты перевода матрицы.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
RectMatrix RectMatrix
(OS X v10.9)Создает матрицу, выполняющую переведение и операцию масштабирования, описанную отношением между двумя прямоугольниками.
Объявление
Objective C
void RectMatrix ( MatrixRecord *matrix, const Rect *srcRect, const Rect *dstRect );
Параметры
matrix
Указатель на a
MatrixRecord
структура. Эта функция обновляет содержание этой матрицы так, чтобы матрица описала трансформацию от точек в прямоугольнике, указанномsrcRect
параметр к точкам в прямоугольнике, указанномdstRect
параметр. Предыдущее содержание матрицы проигнорировано.srcRect
Указатель на источник
Rect
структура.dstRect
Указатель на место назначения
Rect
структура.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
RotateMatrix RotateMatrix
(OS X v10.9)Изменяет содержание матрицы так, чтобы она определила работу вращения.
Объявление
Objective C
void RotateMatrix ( MatrixRecord *m, Fixed degrees, Fixed aboutX, Fixed aboutY );
Параметры
m
Указатель на a
MatrixRecord
структура.degrees
Число углов вращения.
aboutX
X координата точки привязки вращения.
aboutY
Y координата точки привязки вращения.
Обсуждение
Эта функция обновляет содержание матрицы так, чтобы матрица описала работу вращения; т.е. это связывает трансформации вращения на то, что было первоначально в матричной структуре. Вы указываете направление и сумму вращения с
degrees
параметр. Вы указываете точку вращения сaboutX
иaboutY
параметры.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ScaleMatrix ScaleMatrix
(OS X v10.9)Изменяет содержание матрицы так, чтобы она определила операцию масштабирования.
Объявление
Objective C
void ScaleMatrix ( MatrixRecord *m, Fixed scaleX, Fixed scaleY, Fixed aboutX, Fixed aboutY );
Параметры
m
Указатель на a
MatrixRecord
структура.ScaleMatrix
функционируйте обновляет содержание этой матрицы так, чтобы матрица описала операцию масштабирования; т.е. это связывает соответствующие трансформации на то, что было первоначально в матричной структуре. Вы указываете величину операции масштабирования сscaleX
иscaleY
параметры. Вы указываете точку привязки сaboutX
иaboutY
параметры.scaleX
Масштабный коэффициент применился к координатам x.
scaleY
Масштабный коэффициент применился к координатам y.
aboutX
X координата точки привязки.
aboutY
Y координата точки привязки.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetIdentityMatrix SetIdentityMatrix
(OS X v10.9)Устанавливает содержание матрицы так, чтобы она не выполняла трансформации.
Объявление
Objective C
void SetIdentityMatrix ( MatrixRecord *matrix );
Параметры
matrix
Указатель на a
MatrixRecord
структура. Функция обновляет содержание этой матрицы так, чтобы матрица описала единичную матрицу.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SkewMatrix SkewMatrix
(OS X v10.9)Изменяет содержание матрицы так, чтобы она определила скошенную трансформацию.
Объявление
Objective C
void SkewMatrix ( MatrixRecord *m, Fixed skewX, Fixed skewY, Fixed aboutX, Fixed aboutY );
Параметры
m
Указатель на матрицу для этой работы.
SkewMatrix
функционируйте обновляет содержаниеMatrixRecord
структура так, чтобы это определило скошенную работу; это связывает соответствующие трансформации на то, что было первоначально в матричной структуре. Вы указываете величину и направление скошенной работы сskewX
иskewY
параметры. Вы указываете точку привязки сaboutX
иaboutY
параметры.skewX
Скошенное значение, которому применятся к координаты x.
skewY
Скошенное значение, которому применятся к координаты y.
aboutX
X координата точки привязки.
aboutY
Y координата точки привязки.
Обсуждение
Скошенная работа изменяет дисплей элемента вдоль одной размерности. Например, преобразование прямоугольника в параллелограм является скошенной работой.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
TranslateMatrix TranslateMatrix
(OS X v10.9)Добавляет, что перевод оценивает указанной матрице.
Объявление
Objective C
void TranslateMatrix ( MatrixRecord *m, Fixed deltaH, Fixed deltaV );
Параметры
m
Указатель на
MatrixRecord
структура для этой работы.deltaH
Значение, которое будет добавлено к x, координирует значение перевода.
deltaV
Значение, которое будет добавлено к y, координирует значение перевода.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Определяет местоположение и открывает графический компонент средства импорта, который может использоваться для рисования изображения из указанной ссылки на данные.
Объявление
Objective C
OSErr GetGraphicsImporterForDataRef ( Handle dataRef, OSType dataRefType, ComponentInstance *gi );
Параметры
dataRef
Ссылка на данные, которая будет нарисована с помощью графического компонента средства импорта.
dataRefType
Тип ссылки на данные, на которую указывают
dataRef
параметр; посмотритеData References
. Для основанных на псевдониме ссылок на данные,dataRef
дескриптор содержитAliasRecord
иdataRefType
установлен вrAliasType
.gi
По возврату, содержит указатель на
ComponentInstance
из графического средства импорта. Если никакое графическое средство импорта не может быть найдено, этот параметр будет установлен наNIL
. ЕслиGetGraphicsImporterForDataRef
в состоянии определить местоположение графического средства импорта для ссылки на данные, возвращенного графического средства импортаComponentInstance
будет уже установлен для рисования от указанной ссылки на данные до текущего порта.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция пытается определить местоположение графического компонента средства импорта для указанной ссылки на данные путем проверки расширения файла (такого как.GIF или.JPG), тип файла Macintosh и тип MIME файла. Расширение файла получено от ссылки на данные при помощи
DataHGetFileName
вызывать обработчик данных связалось со ссылкой на данные. Если графическое средство импорта не может быть найдено с помощью типа файла, расширения файла или типа MIME,GetGraphicsImporterForDataRef
просит каждое графическое средство импорта проверять файл, до него или находит средство импорта, которое может обработать файл или исчерпывает список возможных средств импорта. Эта попытка проверки может быть довольно длительной; для обхода его вызватьGetGraphicsImporterForDataRefWithFlags
вместо этого.Специальные замечания
Вызывающая сторона
GetGraphicsImporterForDataRef
ответственно за закрытие возвращенногоComponentInstance
использованиеCloseComponent
. Необходимо вызватьCloseComponent
когда Вы закончены со средством импорта.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Определяет местоположение и открывает графический компонент средства импорта для ссылки на данные с флагами, управляющими поисковым процессом.
Объявление
Objective C
OSErr GetGraphicsImporterForDataRefWithFlags ( Handle dataRef, OSType dataRefType, ComponentInstance *gi, long flags );
Параметры
dataRef
Ссылка на данные, которая будет нарисована с помощью графического компонента средства импорта.
dataRefType
Тип ссылки на данные, на которую указывают
dataRef
параметр; посмотритеData References
. Для основанных на псевдониме ссылок на данные,dataRef
дескриптор содержитAliasRecord
иdataRefType
установлен вrAliasType
.gi
По возврату, содержит указатель на
ComponentInstance
из графического средства импорта. Если никакое графическое средство импорта не может быть найдено, этот параметр будет установлен наNIL
. ЕслиGetGraphicsImporterForDataRefWithFlags
в состоянии определить местоположение графического средства импорта для ссылки на данные, возвращенного графического средства импортаComponentInstance
будет уже установлен для рисования от указанной ссылки на данные до текущего порта.flags
Содержит флаги (см. ниже), которые управляют графическим процессом поиска средства импорта. Посмотрите эти константы:
kDontUseValidateToFindGraphicsImporter
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция пытается определить местоположение графического компонента средства импорта для указанной ссылки на данные путем проверки расширения файла (такого как.GIF или.JPG), тип файла Macintosh и тип MIME файла. Расширение файла получено от ссылки на данные при помощи
DataHGetFileName
вызывать обработчик данных связалось со ссылкой на данные. Если графическое средство импорта не может быть найдено с помощью типа файла, расширения файла или типа MIME, эта функция просит, чтобы каждое графическое средство импорта проверило файл до него, или находит средство импорта, которое может обработать файл или исчерпывает список возможных средств импорта. Эта попытка проверки может быть довольно длительной; обойти его, передачаkDontUseValidateToFindGraphicsImporter
вflags
параметр.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetGraphicsImporterForFile GetGraphicsImporterForFile
(OS X v10.9)Определяет местоположение и открывает графический компонент средства импорта, который может использоваться для рисования указанного файла.
Объявление
Objective C
OSErr GetGraphicsImporterForFile ( const FSSpec *theFile, ComponentInstance *gi );
Параметры
theFile
Файл, который будет нарисован с помощью графического компонента средства импорта.
gi
По возврату, содержит указатель на
ComponentInstance
из графического средства импорта. Если никакое графическое средство импорта не может быть найдено для указанного файла,gi
будет установлен вNIL
. ЕслиGetGraphicsImporterForFile
в состоянии определить местоположение графического средства импорта для файла, возвращенного графического средства импортаComponentInstance
будет уже установлен для рисования указанного файла к текущему порту.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция сначала пытается определить местоположение графического компонента средства импорта для указанного файла на основе его типа файла. Если это неспособно определить местоположение графического средства импорта, компонентно-ориентированного на типе файла Macintosh, или вызов выполняется на файле не-Macintosh,
GetGraphicsImporterForFile
попытается определить местоположение графического средства импорта, компонентно-ориентированного на расширении файла (такой как.JPG
или.GIF
). Если графическое средство импорта не может быть найдено с помощью типа или расширения файла,GetGraphicsImporterForFile
просит каждое графическое средство импорта проверять файл, до него или находит средство импорта, которое может обработать файл или исчерпывает список возможных средств импорта. Эта попытка проверки может быть довольно длительной. Для обхода попытки проверки вызватьGetGraphicsImporterForFileWithFlags
вместо этого. Следующий пример кода иллюстрирует использованиеGetGraphicsImporterForFile
:// Get a graphics importer for the image file, determine the natural size
// of the image, and draw the image
// See "Discovering QuickTime," page 274
void drawFile(const FSSpec *fss, const Rect *boundsRect)
{
GraphicsImportComponent gi;
GetGraphicsImporterForFile(fss, &gi);
GraphicsImportSetBoundsRect(gi, boundsRect);
GraphicsImportDraw(gi);
CloseComponent(gi);
}
Специальные замечания
Вызывающая сторона
GetGraphicsImporterForFile
ответственно за закрытие возвращенногоComponentInstance
использованиеCloseComponent
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetBestDeviceRect GetBestDeviceRect
(OS X v10.9)Выбирает самое глубокое из всех доступных графических устройств, при обработке 16-разрядных и 32-разрядных экранов как имеющий равную глубину.
Параметры
gdh
Указатель на дескриптор прямоугольника для выбранного устройства. Если Вам не нужна информация в этом возвращенном параметре, указать
NIL
.rp
Указатель на прямоугольник, приведенный в соответствие с высотой строки меню, если устройство является основным устройством. Если Вам не нужна информация в этом возвращенном параметре, указать
NIL
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция не центрирует прямоугольник на устройстве. Скорее это возвращает прямоугольник для лучшего устройства. Следующий пример кода иллюстрирует свое использование:
// GetBestDeviceRect coding example
// See "Discovering QuickTime," page 265
WindowRef MakeMyWindow (void)
{
WindowRef pMacWnd;
Rect rectWnd ={0, 0, 120, 160};
Rect rectBest;
// figure out the best monitor for the window
GetBestDeviceRect(NIL, &rectBest);
// put the window in the top left corner of that monitor
OffsetRect(&rectWnd, rectBest.left + 10, rectBest.top + 50);
// create the window
pMacWnd =NewCWindow(NIL, &rectWnd, "\pGrabber",
TRUE, noGrowDocProc, (WindowRef)-1, TRUE, 0);
// set the port to the new window
SetPort(pMacWnd);
return pMacWnd;
}
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
NewImageGWorld NewImageGWorld
(OS X v10.9)Создает внеэкранный графический мир.
Объявление
Objective C
OSErr NewImageGWorld ( GWorldPtr *gworld, ImageDescriptionHandle idh, GWorldFlags flags );
Параметры
gworld
Указатель на графический мир создал использование ширины, высоты, глубины и таблицы цветов, указанной в
ImageDescription
структура указала вidh
параметр.idh
Дескриптор к
ImageDescription
структура, содержащая информацию для графического мира, на который указываютgworld
параметр.flags
Графические мировые флаги создания (см. ниже).
pixPurge
,noNewDevice
,useTempMem
,keepLocal
,pixelsPurgeable
, иpixelsLocked
флаги являются командами к этой функции; другие возвращаются этой функцией. Посмотрите эти константы:Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
AddImageDescriptionExtension AddImageDescriptionExtension
(OS X v10.9)Добавляет расширение структуры ImageDescription.
Объявление
Objective C
OSErr AddImageDescriptionExtension ( ImageDescriptionHandle desc, Handle extension, long idType );
Параметры
desc
Дескриптор к
ImageDescription
структура для добавления расширения.extension
Дескриптор, содержащий дополнительные данные.
idType
Четырехбайтовая подпись, идентифицирующая тип данных, добавляемых к
ImageDescription
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет приложению добавлять пользовательские данные к
ImageDescriptionHandle
. Эти данные могли быть определенными для компонента компрессора, на который ссылаютсяImageDescription
структура.Специальные замечания
Программа управления сжатием изображений делает копию данных именуемой
extension
параметр. Таким образом Ваше приложение должно расположить свою копию данных, когда это больше не необходимо.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Считает число расширений данного типа в ImageDescriptionHandle.
Объявление
Objective C
OSErr CountImageDescriptionExtensionType ( ImageDescriptionHandle desc, long idType, long *count );
Параметры
desc
Дескриптор к
ImageDescription
структура с расширениями, которые будут считаться.idType
Указывает тип расширения, которое будет считаться в указанном
ImageDescription
структура. Установитеvalue
из этого параметра к 0, чтобы соответствовать любое расширение и возвратить количество всех расширений.count
Указатель на целое число, указывающее, сколько расширений данного типа находится в данном
ImageDescription
структура.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Когда используется с
GetNextImageDescriptionExtensionType
, эта функция позволяет приложению определять общий набор настоящего расширений вImageDescription
структура, определяемаяdesc
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetImageDescriptionExtension GetImageDescriptionExtension
(OS X v10.9)Возвращает новый дескриптор с данными от указанного расширения описания изображения.
Объявление
Objective C
OSErr GetImageDescriptionExtension ( ImageDescriptionHandle desc, Handle *extension, long idType, long index );
Параметры
desc
Дескриптор к надлежащему
ImageDescription
структура.extension
Указатель на поле для получения дескриптора к возвращенным данным.
GetImageDescriptionExtension
функционируйте возвращает расширенные данные для изображения, описанногоImageDescription
структура, именуемаяdesc
параметр. Функция правильно измеряет дескриптор для данных, которые это возвращает.idType
Указывает значение типа расширения. Используйте этот параметр для определения
data
типextension
. Этот параметр содержит четыре кода символа, подобныеOSType
значение поля.index
Индекс расширения для получения. Это - число между 1 и количество, возвращенное
CountImageDescriptionExtensionType
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет приложению получать копию указанного расширения описания изображения. Обратите внимание на то, что каждый тип компрессора может иметь свой собственный формат для расширенных данных, хранящихся с изображением. Расширенные данные подобны в понятии пользовательским данным, которые приложения могут связать с фильмами в формате QuickTime. Как только Вы добавили расширенные данные к изображению, Вы не можете удалить их.
Специальные замечания
Программа управления сжатием изображений выделяет новый дескриптор и пасует назад его в
extension
параметр. Ваше приложение должно избавиться от дескриптора, когда это больше не необходимо.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Получает тип расширения структуры описания изображения.
Объявление
Objective C
OSErr GetNextImageDescriptionExtensionType ( ImageDescriptionHandle desc, long *idType );
Параметры
desc
Дескриптор к
ImageDescription
структура.idType
Указатель на целое число, указывающее тип расширения, после которого эта функция должна возвратиться
next
дополнительный тип.Point
к значению 0 для возврата первого найденного типа.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет Вашему приложению искать все типы расширений в
ImageDescription
структура.idType
параметр должен быть установлен на 0 для запуска поиска. Когда больше дополнительных типов не сможет быть найдено, функция установит это поле в 0.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Для данного формата пикселя, возвращает значение глубины, которое должно использоваться в описаниях изображения.
Объявление
Objective C
short QTGetPixelFormatDepthForImageDescription ( OSType PixelFormat );
Параметры
PixelFormat
Формат пикселя описания изображения; посмотрите
Pixel Formats
.Возвращаемое значение
Пиксельная глубина для того формата.
Обсуждение
Учитывая формат пикселя, эта функция возвращает соответствующее значение глубины, которое должно использоваться в описаниях изображения. Такое значение не является литеральным числом бит на пиксель, но самой близкой соответствующей классической глубиной QuickDraw. Для любого формата пикселя с альфа-каналом это 32. Для полутоновых форматов пикселя 8 или больше бит на пиксель это 40. Для цвета, квантованного к 5 или 6 битам за компонент, это 16. Для всех других цветных форматов пикселя это 24.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.2 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Удаляет указанное расширение из структуры ImageDescription.
Объявление
Objective C
OSErr RemoveImageDescriptionExtension ( ImageDescriptionHandle desc, long idType, long index );
Параметры
desc
Дескриптор к
ImageDescription
структура.idType
Тип расширения для удаления.
index
Индекс расширения для удаления. Это - число между 1 и количество, возвращенное
CountImageDescriptionExtensionType
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет приложению удалять указанное расширение из
ImageDescription
структура. Обратите внимание на то, что любым расширениям, присутствующим в структуре после удаленного расширения, перенумеруют их индексы.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompressPicture CompressPicture
(OS X v10.9)Сжимает изображение единственного кадра, сохраненное как структура изображения, и помещает результат в другое изображение.
Объявление
Параметры
srcPicture
Дескриптор к исходному изображению, сохраненному как изображение.
dstPicture
Дескриптор месту назначения для сжатого изображения. Компрессор изменяет размеры этого дескриптора для данных результата.
quality
Константа (см. ниже), который определяет желаемое сжатое качество изображения. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
cType
Необходимо установить этот параметр на допустимый идентификатор компрессора; посмотрите
Codec Identifiers
. Если значение передало в, 0, или'raw '
, и исходное изображение сжато, конечное изображение создается как несжатое изображение и не требует QuickTime для своего дисплея.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция сжимает только данные изображения. Любые другие типы данных в изображении, такие как текст, графические примитивы, и ранее сжатые изображения, не изменяются всегда и проходятся к конечному изображению. Эта функция поддерживает параметры, управляющие тип компрессора и качество изображения. Компрессор выводит другие параметры сжатия из данных изображения в исходном изображении.
Специальные замечания
Если изображение с многократными пиксельными картами и другими графическими объектами будет передано, то пиксельные карты будут сжаты индивидуально, и другие графические объекты не будут затронуты. Эта функция не использует графический порт.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompressPictureFile CompressPictureFile
(OS X v10.9)Сжимает изображение единственного кадра, сохраненное как файл изображения, и помещает результат в другой файл изображения.
Объявление
Параметры
srcRefNum
Число ссылки на файл для источника
'PICT'
файл.dstRefNum
Число ссылки на файл для места назначения
'PICT'
файл. Обратите внимание на то, что компрессор перезаписывает содержание файла, именуемогоdstRefNum
. Необходимо открыть этот файл с разрешением записи. Целевой файл может совпасть с исходным файлом, указаннымsrcRefNum
параметр.quality
Константа (см. ниже), который определяет желаемое сжатое качество изображения. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
cType
Тип компрессора. Необходимо установить этот параметр на допустимый постоянный тип компрессора; посмотрите
Codec Identifiers
. Если значение передало в, 0, или'raw-'
, и исходное изображение сжато, конечное изображение создается как несжатое изображение и не требует, чтобы QuickTime был выведен на экран.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция поддерживает параметры, управляющие тип компрессора и качество изображения. Компрессор выводит другие параметры сжатия из данных изображения в файле исходного изображения.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DrawPictureFile DrawPictureFile
(OS X v10.9)Рисует изображение из указанного файла изображения в текущем графическом порту.
Объявление
Objective C
OSErr DrawPictureFile ( short refNum, const Rect *frame, ICMProgressProcRecordPtr progressProc );
Параметры
refNum
Число ссылки на файл для источника файл PICT.
frame
Указатель на прямоугольник, в который должно быть загружено изображение. Компрессор масштабирует исходное изображение для вписывания в этот целевой прямоугольник.
progressProc
Точки к
ICMProgressProc
обратный вызов. Во время работы функция получения может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе; посмотритеICMProgressProcRecord
. Если Вы не обеспечили функцию прогресса, устанавливал этот параметр наNIL
. При передаче значения-1 QuickTime обеспечивает стандартную функцию прогресса.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция рисует изображение, которое она находит в файле изображения указанный
refNum
параметр в прямоугольнике, указанномframe
параметр. Программа управления сжатием изображений выполняет любой спулинг, который может быть необходимым при чтении файла изображения. Укажите область отсечения, подходящую для Вашего изображения прежде, чем нарисовать его. Если область отсечения является очень большой (как это - когда графический порт инициализируется), и Вы хотите масштабировать изображение, область отсечения может стать недопустимой когдаDrawPictureFile
масштабирует область отсечения, когда не будет нарисовано Ваше изображение. С другой стороны, если графический порт указывает маленькую область отсечения, часть Вашего получения может быть отсечена когдаDrawPictureFile
рисует его. Установка области отсечения, равной прямоугольнику порта текущего графического порта всегда, устанавливает допустимую область отсечения.Специальные замечания
Когда это масштабирует шрифты,
DrawPictureFile
изменяет размер шрифта вместо того, чтобы масштабировать биты. Однако ширины, используемыеbitmap
шрифты не всегда линейны. Например, ширина с 12 точками не точно 1/2 ширины с 24 точками. Это может заставить строки текста становиться немного более длинными или короче, поскольку масштабируется изображение. Самый простой способ избежать таких проблем состоит в том, чтобы указать целевой прямоугольник, который является тем же размером как ограничительный прямоугольник для изображения.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DrawTrimmedPicture DrawTrimmedPicture
(OS X v10.9)Рисует изображение, которое сохранено как изображение в текущий графический порт и обрезки, отображающие для адаптации указанной области.
Объявление
Objective C
OSErr DrawTrimmedPicture ( PicHandle srcPicture, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc );
Параметры
srcPicture
Дескриптор к исходному изображению, сохраненному как изображение.
frame
Указатель на прямоугольник, в который должно быть загружено распакованное изображение.
trimMask
Дескриптор к области отсечения в системе координат назначения. Декомпрессор применяет эту маску к конечному изображению и игнорирует любые данные изображения, выходящие за пределы указанной области. Установите этот параметр на
NIL
если Вы не хотите отсекать исходное изображение.doDither
Указывает, размыть ли изображение. Используйте этот параметр, если Вы хотите, чтобы изображение было размыто, когда это выведено на экран на экране более низкого разрешения (см. ниже). Посмотрите эти константы:
defaultDither
forceDither
suppressDither
progressProc
Указатель на
ICMProgressProc
обратный вызов. Во время работы сжатия компрессор может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе. Если Вы не обеспечили функцию прогресса, устанавливал этот параметр наNIL
. При передаче значения-1 QuickTime обеспечивает стандартную функцию прогресса.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция работает со сжатыми данными изображения; исходные данные остаются сжатыми. Функция обрезает изображение для адаптации указанной области отсечения. Обратите внимание на то, что, если Вы просто используете клип при создании изображения, данные (хотя не видимый) все еще хранятся в изображении.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DrawTrimmedPictureFile DrawTrimmedPictureFile
(OS X v10.9)Рисует изображение, которое сохранено как файл изображения в текущий графический порт и обрезки, отображающие для адаптации указанной области.
Объявление
Objective C
OSErr DrawTrimmedPictureFile ( short srcRefnum, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc );
Параметры
srcRefnum
Число ссылки на файл для источника файл PICT.
frame
Указатель на прямоугольник, в который должно быть загружено распакованное изображение.
trimMask
Дескриптор к области отсечения в системе координат назначения. Декомпрессор применяет эту маску к конечному изображению и игнорирует любые данные изображения, выходящие за пределы указанной области. Установите этот параметр на
NIL
если Вы не хотите отсекать исходное изображение. В этом случае эта функция действует какDrawPictureFile
.doDither
Указывает, размыть ли изображение. Используйте этот параметр, если Вы хотите, чтобы изображение было размыто, когда это выведено на экран на экране более низкого разрешения (см. ниже). Посмотрите эти константы:
defaultDither
forceDither
suppressDither
progressProc
Указатель на
ICMProgressProc
обратный вызов. Во время работы сжатия компрессор может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе. Если Вы не обеспечили функцию прогресса, устанавливал этот параметр наNIL
. При передаче значения-1 QuickTime обеспечивает стандартную функцию прогресса.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Можно использовать эту функцию для сохранения части изображения, так как данные изображения, которые не являются в области для обрезки, проигнорированы и не включены в файл конечного изображения. Все остающиеся объекты в полученном объекте отсекаются.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
FCompressPicture FCompressPicture
(OS X v10.9)Сжимает изображение единственного кадра, сохраненное как структура изображения, и помещает результат в другое изображение, с добавленным управлением процессом сжатия.
Объявление
Objective C
OSErr FCompressPicture ( PicHandle srcPicture, PicHandle dstPicture, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec );
Параметры
srcPicture
Дескриптор к исходному изображению, сохраненному как изображение.
dstPicture
Дескриптор месту назначения для сжатого изображения. Компрессор изменяет размеры этого дескриптора для данных результата.
colorDepth
Глубина, на которой должно быть сжато изображение. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений. Ваша программа может определить, какие глубины поддерживаются данным компрессором путем исследования информационной структуры компрессора, возвращенной
GetCodecInfo
функция.ctable
Дескриптор к таблице поиска пользовательского цвета. Ваша программа может использовать этот параметр для указания таблицы поиска пользовательского цвета, которая будет использоваться с этим изображением. Если значение
colorDepth
параметр меньше чем или равен 8, и таблица поиска пользовательского цвета отличается от той из карты исходного пикселя (т.е.ctSeed
значения полей отличаются по этим двум пиксельным картам), компрессор повторно отображает цвета изображения к пользовательским цветам. Если Вы устанавливаетеcolorDepth
параметр к 16, 24, или 32, компрессор хранит таблицу пользовательского цвета сжатым изображением. Компрессор может использовать таблицу для указания лучших цветов для использования при отображении изображения в более низких битовых глубинах. Компрессор игнорируетctable
параметр, когдаcolorDepth
установлен в 33, 34, 36, или 40. Если Вы устанавливаете этот параметр наNIL
, компрессор использует таблицу цветов из карты исходного пикселя.quality
Константа, определяющая желаемое сжатое качество изображения. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
doDither
Константа (см. ниже), который указывает, размыть ли изображение. Используйте этот параметр, чтобы указать, хотите ли Вы, чтобы изображение было размыто, когда это выведено на экран на экране более низкого разрешения. Посмотрите эти константы:
defaultDither
forceDither
suppressDither
compressAgain
Указывает, повторно сжать ли сжатые данные изображения в
picture
. Используйте этот параметр, чтобы управлять, должны ли какие-либо сжатые данные изображения, которые находятся в исходном изображении, быть распакованы и затем повторно сжали использование текущих параметров. Установитеvalue
из этого параметра к TRUE, чтобы повторно сжать такие данные. Установитеvalue
из параметра к FALSE для отъезда данных как есть Обратите внимание на то, что пересжатие данных может иметь нежелательные побочные эффекты, включая ухудшение качества изображения.progressProc
Точки к
ICMProgressProc
обратный вызов. Во время работы сжатия компрессор может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе. Если Вы не обеспечили обратный вызов прогресса, устанавливал этот параметр наNIL
. При передаче значения-1 QuickTime обеспечивает стандартную функцию прогресса.cType
Тип компрессора. Необходимо установить этот параметр на допустимый постоянный тип компрессора; посмотрите
Codec Identifiers
. Если значение передало в, 0, или'raw '
, получившее изображение не сжато и не требует, чтобы QuickTime был выведен на экран.codec
Идентификатор компрессора. Укажите определенный компрессор путем установки этого параметра на его идентификатор компрессора. Также можно использовать специальный идентификатор (см. ниже). Посмотрите эти константы:
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Если изображение с многократными пиксельными картами и другими графическими объектами будет передано, то пиксельные карты будут сжаты индивидуально, и другие графические объекты не будут затронуты.
FCompressPicture
сжатия только данные изображения. Любые другие типы данных в изображении, такие как текст, графические примитивы, и ранее сжатые изображения, не изменяются всегда и проходятся к конечному изображению. Эта функция поддерживает параметры, управляющие качеством изображения, типом компрессора, глубиной изображения, таблицами пользовательского цвета и размыванием.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
FCompressPictureFile FCompressPictureFile
(OS X v10.9)Сжимает изображение единственного кадра, сохраненное как файл изображения, и помещает результат в другой файл изображения, с добавленным управлением процессом сжатия.
Объявление
Objective C
OSErr FCompressPictureFile ( short srcRefNum, short dstRefNum, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec );
Параметры
srcRefNum
Число ссылки на файл для источника файл PICT.
dstRefNum
Число ссылки на файл для целевого файла PICT. Обратите внимание на то, что компрессор перезаписывает содержание файла, именуемого
dstRefNum
. Необходимо открыть этот файл с полномочиями записи. Целевой файл может совпасть с исходным файлом, указаннымsrcRefNum
параметр.colorDepth
Глубина, на которой должно быть сжато изображение. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений. Ваша программа может определить, какие глубины поддерживаются данным компрессором путем исследования структуры возможности компрессора, возвращенной
GetCodecInfo
функция.ctable
Дескриптор к таблице поиска пользовательского цвета. Ваша программа может использовать этот параметр для указания таблицы поиска пользовательского цвета, которая будет использоваться с этим изображением. Если значение
colorDepth
параметр меньше чем или равен 8, и таблица поиска пользовательского цвета отличается от той из карты исходного пикселя (т.е.ctSeed
значения полей отличаются по этим двум пиксельным картам), компрессор повторно отображает цвета изображения к пользовательским цветам. Если Вы устанавливаетеcolorDepth
параметр к 16, 24, или 32, компрессор хранит таблицу пользовательского цвета сжатым изображением. Компрессор может использовать таблицу для указания лучших цветов для использования при отображении изображения в более низких битовых глубинах. Компрессор игнорируетctable
параметр, когдаcolorDepth
установлен в 33, 34, 36, или 40. Если Вы устанавливаете этот параметр наNIL
, компрессор использует таблицу цветов из карты исходного пикселя.quality
Константа (см. ниже), который определяет желаемое сжатое качество изображения. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
doDither
Указывает, размыть ли изображение. Используйте этот параметр, чтобы указать, хотите ли Вы, чтобы изображение было размыто, когда это выведено на экран на экране более низкого разрешения. Следующие константы доступны: Посмотрите эти константы:
defaultDither
forceDither
suppressDither
compressAgain
Указывает, повторно сжать ли сжатые данные изображения в
picture
. Используйте этот параметр, чтобы управлять, должны ли какие-либо сжатые данные изображения, которые находятся в исходном изображении, быть распакованы и затем повторно сжали использование текущих параметров. Установитеvalue
из этого параметра к TRUE, чтобы повторно сжать такие данные. Установитеvalue
из этого параметра к FALSE для отъезда данных как есть Обратите внимание на то, что пересжатие данных может иметь нежелательные побочные эффекты, включая ухудшение качества изображения.progressProc
Точки к
ICMProgressProc
обратный вызов. Во время работы сжатия компрессор может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе.cType
Тип компрессора. Необходимо установить этот параметр на допустимый постоянный тип компрессора.
codec
Идентификатор компрессора. Укажите определенный компрессор путем установки этого параметра на его идентификатор компрессора. Также можно использовать специальный идентификатор (см. ниже). Посмотрите эти константы:
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция сжимает только данные изображения. Любые другие типы данных в файле, такие как текст, графические примитивы, и ранее сжатые изображения, не изменяются всегда и проходятся к файлу конечного изображения. Эта функция поддерживает параметры, управляющие качеством изображения, типом компрессора, глубиной изображения, таблицами пользовательского цвета и размыванием.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetPictureFileHeader GetPictureFileHeader
(OS X v10.9)Извлекает кадр рисунка и заголовок файла от указанного файла изображения.
Объявление
Objective C
OSErr GetPictureFileHeader ( short refNum, Rect *frame, OpenCPicParams *header );
Параметры
refNum
Число ссылки на файл для источника файл PICT.
frame
Указатель на прямоугольник, который должен получить прямоугольник кадра рисунка файла изображения. Эта функция помещает
picFrame
прямоугольник от структуры изображения в прямоугольник, именуемыйframe
параметр. Если Вы не интересуетесь этой информацией, передачейNIL
в этом параметре.header
Указатель на
OpenCPicParams
структура.GetPictureFileHeader
функционируйте помещает заголовок от указанного файла изображения в эту структуру. Если Вы не интересуетесь этой информацией, передачейNIL
в этом параметре.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Ваша программа может использовать информацию, возвращенную в
header
параметр, чтобы определить, как нарисовать изображение, не имея необходимость читать файл изображения.Специальные замечания
Обратите внимание на то, что эта функция всегда возвращает заголовок версии 2. Если исходный файл является версией 1 файл PICT,
GetPictureFileHeader
функция преобразовывает заголовок в формат версии 2 прежде, чем возвратить его Вашему приложению. Посмотрите Внутренний Macintosh: Обработка изображений С QuickDraw для получения дополнительной информации о заголовках изображения.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompressImage CompressImage
(OS X v10.9)Сжимает изображение единственного кадра, которое в настоящее время сохранено как структура пиксельной карты.
Объявление
Objective C
OSErr CompressImage ( PixMapHandle src, const Rect *srcRect, CodecQ quality, CodecType cType, ImageDescriptionHandle desc, Ptr data );
Параметры
src
Дескриптор к изображению, которое будет сжато. Изображение должно быть сохранено в структуре пиксельной карты.
srcRect
Указатель на прямоугольник, определяющий часть изображения для сжатия.
quality
Константа (см. ниже), который определяет желаемое сжатое качество изображения. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
cType
Тип компрессора; посмотрите
Codec Identifiers
.desc
Дескриптор, который должен получить отформатированный
ImageDescription
структура. Программа управления сжатием изображений изменяет размеры этого дескриптора для возвращенной структуры описания изображения. Ваше приложение должно сохранить это описание изображения сжатыми данными изображения.data
Точки к расположению для получения сжатых данных изображения. Это - ответственность Вашей программы удостовериться, что это расположение может получить, по крайней мере, столько данных сколько обозначенный
GetMaxCompressionSize
функция. Программа управления сжатием изображений помещает фактический размер сжатого изображения вdataSize
полеImageDescription
структура структуры, именуемаяdesc
параметр. Этот указатель должен содержать 32-разрядный чистый адрес.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Следующий пример кода иллюстрирует процесс сжатия и распаковки пиксельной карты.
// CompressImage coding example
// See "Discovering QuickTime," page 286
PicHandle GetQTCompressedPict (PixMapHandle hpmImage)
{
long lMaxCompressedSize =0;
Handle hCompressedData =NIL;
Ptr pCompressedData;
ImageDescriptionHandle hImageDesc =NIL;
OSErr nErr;
PicHandle hpicPicture =NIL;
Rect rectImage =(**hpmImage).bounds;
CodecType dwCodecType =kJPEGCodecType;
CodecComponent codec =(CodecComponent)anyCodec;
CodecQ dwSpatialQuality =codecNormalQuality;
short nDepth =0; // let ICM choose depth
nErr =GetMaxCompressionSize(hpmImage, &rectImage, nDepth,
dwSpatialQuality,
dwCodecType,
(CompressorComponent)codec,
&lMaxCompressedSize);
if (nErr !=noErr)
return NIL;
hImageDesc =(ImageDescriptionHandle)NewHandle(4);
hCompressedData =NewHandle(lMaxCompressedSize);
if ((hCompressedData !=NIL) && (hImageDesc !=NIL)) {
MoveHHi(hCompressedData);
HLock(hCompressedData);
pCompressedData =StripAddress(*hCompressedData);
nErr =CompressImage(hpmImage,
&rectImage,
dwSpatialQuality,
dwCodecType,
hImageDesc,
pCompressedData);
if (nErr ==noErr) {
ClipRect(&rectImage);
hpicPicture =OpenPicture(&rectImage);
nErr =DecompressImage(pCompressedData,
hImageDesc,
hpmImage,
&rectImage,
&rectImage,
srcCopy,
NIL);
ClosePicture();
}
if (theErr || (GetHandleSize((Handle)hpicPicture) ==
sizeof(Picture))) {
KillPicture(hpicPicture);
hpicPicture =NIL;
}
}
if (hImageDesc !=NIL)
DisposeHandle((Handle)hImageDesc);
if (hCompressedData !=NIL)
DisposeHandle(hCompressedData);
return hpicPicture;
}
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ConvertImage ConvertImage
(OS X v10.9)Преобразовывает формат сжатого изображения.
Объявление
Objective C
OSErr ConvertImage ( ImageDescriptionHandle srcDD, Ptr srcData, short colorDepth, CTabHandle ctable, CodecQ accuracy, CodecQ quality, CodecType cType, CodecComponent codec, ImageDescriptionHandle dstDD, Ptr dstData );
Параметры
srcDD
Дескриптор к
ImageDescription
структура, описывающая сжатое изображение.srcData
Точки к сжатым данным изображения. Этот указатель должен содержать 32-разрядный чистый адрес.
colorDepth
Глубина, на которой, вероятно, будет просмотрено пересжатое изображение. Декомпрессоры могут использовать это в качестве индикации относительно цветного или полутонового разрешения сжатого изображения. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений. Ваша программа может определить, какие глубины поддерживаются данным компрессором путем исследования информационной структуры компрессора, возвращенной
GetCodecInfo
функция.ctable
Дескриптор к таблице поиска пользовательского цвета. Ваша программа может использовать этот параметр для указания таблицы поиска пользовательского цвета, которая будет использоваться с этим изображением. Если значение
colorDepth
параметр меньше чем или равен 8, и таблица поиска пользовательского цвета отличается от той из карты исходного пикселя (т.е.ctSeed
значения полей отличаются по этим двум пиксельным картам), компрессор повторно отображает цвета изображения к пользовательским цветам. Если Вы устанавливаетеcolorDepth
параметр к 16, 24, или 32, компрессор хранит таблицу пользовательского цвета сжатым изображением. Компрессор может использовать таблицу для указания лучших цветов для использования при отображении изображения в более низких битовых глубинах. Компрессор игнорируетctable
параметр, когдаcolorDepth
установлен в 33, 34, 36, или 40. Если Вы устанавливаете этот параметр наNIL
, компрессор использует таблицу цветов из источникаImageDescription
структура.accuracy
Константа (см. ниже), который определяет точность, желаемую в распакованном изображении. Значения для этого параметра находятся в том же масштабе как качество сжатия. Для хорошего дисплея неподвижных изображений необходимо указать, по крайней мере,
codecHighQuality
. Посмотрите эти константы:codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
quality
Константа (см. ниже), который определяет желаемое сжатое качество изображения.
cType
Тип компрессора; посмотрите
Codec Identifiers
.codec
Укажите определенный компрессор путем установки этого параметра на его идентификатор компрессора. Также можно использовать специальную константу (см. ниже). Указание экземпляра компонента может быть полезным, если Вы ранее установили некоторый параметр на определенном экземпляре поля кодека и хотите удостовериться, что указанный экземпляр используется для той работы. Посмотрите эти константы:
dstDD
Дескриптор, который должен получить отформатированный
ImageDescription
структура. Программа управления сжатием изображений изменяет размеры этого дескриптора для возвращенногоImageDescription
структура. Ваше приложение должно сохранить это описание изображения сжатыми данными изображения.dstData
Точки к расположению для получения сжатых данных изображения. Это - ответственность Вашей программы удостовериться, что это расположение может получить, по крайней мере, столько данных сколько обозначенный
GetMaxCompressionSize
. Программа управления сжатием изображений помещает фактический размер сжатого изображения вdataSize
поле описания изображения, именуемогоdstDD
параметр. Этот указатель должен содержать чистый адрес на 32 бита.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Действие этой функции чрезвычайно эквивалентно распаковке и пересжатию изображения. Во время работы распаковки декомпрессор использует
srcDD
,srcData
, и параметры точности. Во время последующей работы сжатия компрессор используетcolorDepth
,ctable
,cType
, кодек, качество,dstDD
, иdstData
параметры.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DecompressImage DecompressImage
(OS X v10.9)Распаковывает изображение единственного кадра в структуру пиксельной карты.
Объявление
Objective C
OSErr DecompressImage ( Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle mask );
Параметры
data
Точки к сжатым данным изображения. Этот указатель должен содержать 32-разрядный чистый адрес.
desc
Дескриптор к
ImageDescription
структура, описывающая сжатое изображение.dst
Дескриптор к пиксельной карте, где распакованное изображение должно быть выведено на экран. Установите текущий графический порт в порт, содержащий эту пиксельную карту.
srcRect
Указатель на прямоугольник, определяющий часть изображения для распаковки. Этот прямоугольник должен лечь в граничном прямоугольнике сжатого изображения, определяющегося
(0,0)
и((**desc).width,(**desc).height)
. Если Вы хотите распаковать все исходное изображение, установите этот параметр наNIL
. Если параметрNIL
, прямоугольник установлен в прямоугольную структуруImageDescription
структура.dstRect
Указатель на прямоугольник, в который должно быть загружено распакованное изображение. Компрессор масштабирует исходное изображение для вписывания в этот целевой прямоугольник.
mode
Режим передачи для работы, как перечислено в
Graphics Transfer Modes
.mask
Дескриптор к области отсечения в системе координат назначения. Если указано, компрессор применяет эту маску к конечному изображению. Если Вы не хотите маскировать биты в
destination
, установите этот параметр наNIL
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Обратите внимание на то, что
DecompressImage
вызывается черезStdPix
функция. Следующий пример кода иллюстрирует процесс сжатия и распаковки пиксельной карты.// DecompressImage coding example
// See "Discovering QuickTime," page 286
PicHandle GetQTCompressedPict (PixMapHandle hpmImage)
{
long lMaxCompressedSize =0;
Handle hCompressedData =NIL;
Ptr pCompressedData;
ImageDescriptionHandle hImageDesc =NIL;
OSErr nErr;
PicHandle hpicPicture =NIL;
Rect rectImage =(**hpmImage).bounds;
CodecType dwCodecType =kJPEGCodecType;
CodecComponent codec =(CodecComponent)anyCodec;
CodecQ dwSpatialQuality =codecNormalQuality;
short nDepth =0; // let ICM choose depth
nErr =GetMaxCompressionSize(hpmImage, &rectImage, nDepth,
dwSpatialQuality,
dwCodecType,
(CompressorComponent)codec,
&lMaxCompressedSize);
if (nErr !=noErr)
return NIL;
hImageDesc =(ImageDescriptionHandle)NewHandle(4);
hCompressedData =NewHandle(lMaxCompressedSize);
if ((hCompressedData !=NIL) && (hImageDesc !=NIL)) {
MoveHHi(hCompressedData);
HLock(hCompressedData);
pCompressedData =StripAddress(*hCompressedData);
nErr =CompressImage(hpmImage,
&rectImage,
dwSpatialQuality,
dwCodecType,
hImageDesc,
pCompressedData);
if (nErr ==noErr) {
ClipRect(&rectImage);
hpicPicture =OpenPicture(&rectImage);
nErr =DecompressImage(pCompressedData,
hImageDesc,
hpmImage,
&rectImage,
&rectImage,
srcCopy,
NIL);
ClosePicture();
}
if (theErr || (GetHandleSize((Handle)hpicPicture) ==
sizeof(Picture))) {
KillPicture(hpicPicture);
hpicPicture =NIL;
}
}
if (hImageDesc !=NIL)
DisposeHandle((Handle)hImageDesc);
if (hCompressedData !=NIL)
DisposeHandle(hCompressedData);
return hpicPicture;
}
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
FCompressImage FCompressImage
(OS X v10.9)Сжимает изображение единственного кадра, которое в настоящее время сохранено как структура пиксельной карты с добавленным управлением процессом сжатия.
Объявление
Objective C
OSErr FCompressImage ( PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, CTabHandle ctable, CodecFlags flags, long bufferSize, ICMFlushProcRecordPtr flushProc, ICMProgressProcRecordPtr progressProc, ImageDescriptionHandle desc, Ptr data );
Параметры
src
Дескриптор к изображению, которое будет сжато. Изображение должно быть сохранено в структуре пиксельной карты.
srcRect
Указатель на прямоугольник, определяющий часть изображения для сжатия.
colorDepth
Глубина, на которой, вероятно, будет просмотрено изображение. Компрессоры могут использовать это в качестве индикации относительно цветного или полутонового разрешения сжатого изображения. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений. Ваша программа может определить, какие глубины поддерживаются данным компрессором путем исследования информационной структуры компрессора, возвращенной
GetCodecInfo
функция.quality
Константа (см. ниже), который определяет желаемое сжатое качество изображения. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
cType
Тип компрессора. Необходимо установить этот параметр на допустимый постоянный тип компрессора.
codec
Идентификатор компрессора. Укажите определенный компрессор путем установки этого параметра на его идентификатор компрессора. Также можно использовать специальный идентификатор (см. ниже). Указание экземпляра компонента может быть полезным, если Вы ранее установили некоторый параметр на определенном экземпляре поля кодека и хотите удостовериться, что указанный экземпляр используется для той работы. Посмотрите эти константы:
ctable
Дескриптор к таблице поиска пользовательского цвета. Ваша программа может использовать этот параметр для указания таблицы поиска пользовательского цвета, которая будет использоваться с этим изображением. Если значение
colorDepth
параметр меньше чем или равен 8, и таблица поиска пользовательского цвета отличается от той из карты исходного пикселя (т.е.ctSeed
значения полей отличаются по этим двум пиксельным картам), компрессор повторно отображает цвета изображения к пользовательским цветам. Если Вы устанавливаетеcolorDepth
параметр к 16, 24, или 32, компрессор хранит таблицу пользовательского цвета сжатым изображением. Компрессор может использовать таблицу для указания лучших цветов для использования при отображении изображения в более низких битовых глубинах. Компрессор игнорируетctable
параметр, когдаcolorDepth
установлен в 33, 34, 36, или 40. Если Вы устанавливаете этот параметр наNIL
, компрессор использует таблицу цветов из карты исходного пикселя.flags
Содержит флаг (см. ниже), который указывает, было ли ранее сжато изображение. Посмотрите эти константы:
codecFlagWasCompressed
bufferSize
Размер буфера, который будет использоваться разгружающей данные функцией, указанной
flushProc
параметр. Если Вы не указали разгружающую данные функцию, устанавливал этот параметр на 0.flushProc
Точки к
ICMDataProc
разгружающий данные обратный вызов. Если существует недостаточно памяти для хранения сжатого изображения, компрессор вызывает функцию, Вы обеспечиваете, что разгружает некоторые сжатые данные. Если Вы не обеспечили разгружающий данные обратный вызов, устанавливал этот параметр наNIL
. В этом случае компрессор пишет все сжатое изображение в ячейку памяти, указаннуюdata
параметр.progressProc
Точки к
ICMProgressProc
обратный вызов прогресса. Во время работы сжатия компрессор может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе. Если Вы не обеспечили обратный вызов прогресса, устанавливал этот параметр наNIL
. При передаче значения-1 QuickTime обеспечивает стандартную функцию прогресса.desc
Дескриптор, который должен получить отформатированный
ImageDescription
структура. Программа управления сжатием изображений изменяет размеры этого дескриптора для возвращенногоImageDescription
структура. Ваше приложение должно сохранить это описание изображения сжатыми данными изображения.data
Точки к расположению для получения сжатых данных изображения. Это - ответственность Вашей программы удостовериться, что это расположение может получить, по крайней мере, столько данных сколько обозначенный
GetMaxCompressionSize
функция. Если нет достаточной памяти для хранения сжатого изображения, можно принять решение записать сжатые данные в массовое хранение во время работы сжатия. ИспользуйтеflushProc
параметр для идентификации разгружающей данные функции для компрессора. Этот указатель должен содержать 32-разрядный чистый адрес. Программа управления сжатием изображений помещает фактический размер сжатого изображения вdataSize
полеImageDescription
структура, на которую ссылаютсяdesc
параметр.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция действует как
CompressImage
, но дает Вашему приложению дополнительный контроль над параметрами, ведущими работу сжатия.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
FDecompressImage FDecompressImage
(OS X v10.9)Распаковывает изображение единственного кадра в структуру пиксельной карты, с добавленным управлением процессом распаковки.
Объявление
Objective C
OSErr FDecompressImage ( Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapHandle matte, const Rect *matteRect, CodecQ accuracy, DecompressorComponent codec, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc );
Параметры
data
Точки к сжатым данным изображения. Если все сжатое изображение не может быть сохранено в этом расположении, Ваше приложение может обеспечить функцию загрузки данных (см. обсуждение
dataProc
параметр к этой функции). Этот указатель должен содержать 32-разрядный чистый адрес.desc
Дескриптор к
ImageDescription
структура, описывающая сжатое изображение.dst
Дескриптор к пиксельной карте, где распакованное изображение должно быть выведено на экран. Установите текущий графический порт в порт, содержащий эту пиксельную карту.
srcRect
Указатель на прямоугольник, определяющий часть изображения для распаковки. Этот прямоугольник должен лечь в граничном прямоугольнике сжатого изображения, определяющегося
(0,0)
и((**desc).width,(**desc).height)
. Если Вы хотите распаковать все исходное изображение, установите этот параметр наNIL
. Если параметрNIL
, прямоугольник установлен в прямоугольную структуруImageDescription
структура.matrix
Точки к матричной структуре, указывающей, как преобразовать изображение во время распаковки. Можно использовать матричную структуру, чтобы перевести или масштабировать изображение во время распаковки. Если Вы не хотите применять такие эффекты, установите
matrix
параметр кNIL
.mode
Режим передачи для работы; посмотрите
Graphics Transfer Modes
.mask
Дескриптор к области отсечения в системе координат назначения. Если указано, декомпрессор применяет эту маску к конечному изображению. Если Вы не хотите маскировать биты в
destination
, установите этот параметр наNIL
.matte
Дескриптор к пиксельной карте, содержащей матовое стекло смешения. Можно использовать матовое стекло смешения, чтобы заставить распакованное изображение быть смешанным в целевую пиксельную карту. Матовое стекло может быть определено в любой поддерживаемой пиксельной глубине; матовая глубина не должна соответствовать источнику или целевым глубинам. Однако матовое стекло должно быть в системе координат исходного изображения. Если Вы не хотите применять матовое стекло смешения, установите этот параметр на
NIL
.matteRect
Указатель на прямоугольник, определяющий часть матового стекла смешения для применения. Если Вы не хотите использовать все матовое стекло, именуемое
matte
параметр, используйте этот параметр для указания прямоугольника в том матовом стекле. Если указано, этот прямоугольник должен быть тем же размером как прямоугольник, указанныйsrcRect
параметр. Если Вы хотите использовать все матовое стекло, или если Вы не обеспечиваете матовое стекло смешения, установите этот параметр наNIL
.accuracy
Константа (см. ниже), который определяет желаемую точность сжатия. Для хорошего дисплея неподвижных изображений необходимо указать, по крайней мере,
codecHighQuality
. Посмотрите эти константы:codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
codec
Идентификатор декомпрессора. Укажите определенный декомпрессор путем установки этого параметра на его идентификатор. Также можно использовать специальный идентификатор (см. ниже). Указание экземпляра компонента может быть полезным, если Вы ранее установили некоторый параметр на определенном экземпляре поля кодека и хотите удостовериться, что указанный экземпляр используется для той работы. Посмотрите эти константы:
bufferSize
Размер буфера, который будет использоваться функцией загрузки данных, указанной
dataProc
параметр. Если Вы не указали функцию загрузки данных, устанавливал этот параметр на 0.dataProc
Точки к
ICMDataProc
обратный вызов загрузки данных. Если существует недостаточно памяти для хранения сжатого изображения, компрессор вызывает функцию, Вы обеспечиваете, что загружает более сжатые данные. Если Вы не обеспечили разгружающий данные обратный вызов, устанавливал этот параметр наNIL
. В этом случае компрессор ожидает, что все сжатое изображение находится в ячейке памяти, указаннойdata
параметр.progressProc
Точки к
ICMProgressProc
обратный вызов прогресса. Во время работы сжатия компрессор может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе. Если Вы не обеспечили обратный вызов прогресса, устанавливал этот параметр наNIL
. При передаче значения-1 QuickTime обеспечивает стандартную функцию прогресса.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция дает Вашему приложению больший контроль над параметрами, ведущими работу распаковки. Если Вы находите, что Вам не нужен этот уровень управления, использовать
DecompressImage
. Обратите внимание на то, что эта функция вызывается черезStdPix
функция.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetImageDescriptionCTable GetImageDescriptionCTable
(OS X v10.9)Получает таблицу пользовательского цвета для изображения.
Объявление
Objective C
OSErr GetImageDescriptionCTable ( ImageDescriptionHandle desc, CTabHandle *ctable );
Параметры
desc
Дескриптор к надлежащему
ImageDescription
структура.ctable
Указатель на поле, которое должно получить дескриптор таблицы цветов.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция возвращает таблицу цветов для изображения, описанного
ImageDescription
структура, именующаясяdesc
параметр. Функция правильно измеряет дескриптор для таблицы цветов, которую это возвращает.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetImageDescriptionCTable SetImageDescriptionCTable
(OS X v10.9)Обновляет пользовательскую структуру ColorTable для изображения.
Объявление
Objective C
OSErr SetImageDescriptionCTable ( ImageDescriptionHandle desc, CTabHandle ctable );
Параметры
desc
Содержит дескриптор к надлежащему
ImageDescription
структура. Функция обновляет размер структуры для размещения новогоColorTable
структура и удаляет старую таблицу цветов, если Вы присутствуете.ctable
Дескриптор к новому
ColorTable
структура. Функция загружает эту таблицу цветов вImageDescription
структура, именуемаяdesc
параметр. Установите этот параметр наNIL
удалить aColorTable
структура.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция не изменяет данные изображения, просто таблица цветов.
Специальные замечания
Эта функция редко используется. Как правило, Вы предоставляете таблицу цветов, когда Ваше приложение сжимает изображение, и Программа управления сжатием изображений хранит
ColorTable
структура с изображением.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Корректирует сжатое изображение к границам, определенным указанным прямоугольником.
Объявление
Objective C
OSErr TrimImage ( ImageDescriptionHandle desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc );
Параметры
desc
Дескриптор к
ImageDescription
структура, описывающая сжатое изображение. По возврату компрессор обновляет эту структуру для описания измененного изображения.inData
Указатель на сжатые данные изображения. Этот указатель должен содержать 32-разрядный чистый адрес. Если все сжатое изображение не может быть сохранено в этом расположении, Ваше приложение может обеспечить
ICMDataProc
обратный вызов черезdataProc
параметр.inBufferSize
Размер буфера, который будет использоваться функцией загрузки данных, указанной
dataProc
параметр. Если Вы не указали функцию загрузки данных, этот параметр проигнорирован.dataProc
Указатель на
ICMDataProcRecord
структура это ссылаетсяICMDataProc
обратный вызов. Если существует недостаточно памяти для хранения сжатого изображения, компрессор вызывает функцию, Вы обеспечиваете, что загружает более сжатые данные. Если Вы не обеспечили такую функцию загрузки данных, устанавливал этот параметр наNIL
. В этом случае компрессор ожидает, что все сжатое изображение находится в ячейке памяти, указаннойinData
параметрoutData
Указатель на буфер для получения обрезанного изображения. Программа управления сжатием изображений помещает фактический размер получающегося изображения в
dataSize
полеImageDescription
структура, именуемаяdesc
параметр. Этот указатель должен содержать 32-разрядный чистый адрес. Ваше приложение должно создать целевой буфер, по крайней мере, столь же большой как исходное изображение. Если нет достаточной памяти для хранения сжатого изображения, можно принять решение записать сжатые данные в массовое хранение во время работы сжатия, когда Вы используетеflushProc
параметр для идентификации разгружающей данные функции для компрессора.outBufferSize
Размер буфера, который будет использоваться разгружающей данные функцией, указанной
flushProc
параметр. Если Вы не указали разгружающую данные функцию, этот параметр проигнорирован.flushProc
Указатель на
ICMFlushProcRecord
структура это ссылаетсяICMFlushProc
обратный вызов. Если существует недостаточно памяти для хранения сжатого изображения, компрессор вызывает функцию, Вы обеспечиваете, что разгружает некоторые сжатые данные. Если Вы не обеспечили такую разгружающую данные функцию, устанавливал этот параметр наNIL
. В этом случае компрессор пишет все сжатое изображение в ячейку памяти, указаннуюdata
параметрtrimRect
Указатель на a
Rect
структура, определяющая желаемые размеры изображения. По возврату функция корректирует прямоугольные значения так, чтобы они обратились к тому же прямоугольнику в изображении результата. Это необходимо каждый раз, когда данные удалены с начала или левой стороны изображения.progressProc
Указатель на
ICMProgressProcRecord
структура это ссылаетсяICMProgressProc
обратный вызов. Во время работы компрессор может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе. Если Вы не обеспечили такую функцию прогресса, устанавливал этот параметр наNIL
. При передаче значения-1 Вы получаете стандартную функцию прогресса.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceBusy CDSequenceBusy
(OS X v10.9)Проверяет состояние асинхронной работы сжатия или распаковки.
Объявление
Objective C
OSErr CDSequenceBusy ( ImageSequence seqID );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
илиCompressSequenceBegin
.Возвращаемое значение
Если нет никакой асинхронной происходящей работы,
CDSequenceBusy
возвращает 0 кодов результата. Если существует асинхронная происходящая работа, код результата равняется 1. Отрицательные коды результата указывают ошибку.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceChangedSourceData CDSequenceChangedSourceData
(OS X v10.9)Уведомляет компрессор, что изменились данные источника изображения.
Объявление
Objective C
OSErr CDSequenceChangedSourceData ( ImageSequenceDataSource sourceID );
Параметры
sourceID
Содержит исходный идентификатор источника данных.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Используйте эту функцию, чтобы указать, что изображение изменилось, но не изменился указатель данных на то изображение. Например, если указатель данных указывает на базовый адрес a
PixMap
структура, изображение вPixMap
может измениться, но указатель данных остается постоянным.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceDisposeDataSource CDSequenceDisposeDataSource
(OS X v10.9)Избавляется от источника данных.
Объявление
Objective C
OSErr CDSequenceDisposeDataSource ( ImageSequenceDataSource sourceID );
Параметры
sourceID
Идентификатор источника данных, возвращенный
CDSequenceNewDataSource
функция.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Используйте эту функцию для избавления от источника данных, создаваемого
CDSequenceNewDataSource
функция. Все источники данных автоматически расположены, когда расположена последовательность, с которой они связаны.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceDisposeMemory CDSequenceDisposeMemory
(OS X v10.9)Избавляется от памяти, выделенной кодеком.
Объявление
Objective C
OSErr CDSequenceDisposeMemory ( ImageSequence seqID, Ptr data );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.data
Точки к ранее выделенному блоку памяти.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Вы вызываете эту функцию для выпуска памяти, выделенной
CDSequenceNewMemory
функция.Специальные замечания
Не вызывать
CDSequenceDisposeMemory
во время прерывания.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceEnd CDSequenceEnd
(OS X v10.9)Указывает конец обработки для последовательности изображений.
Объявление
Objective C
OSErr CDSequenceEnd ( ImageSequence seqID );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
илиCompressSequenceBegin
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Отчеты, являются ли два описания изображения тем же.
Объявление
Objective C
OSErr CDSequenceEquivalentImageDescription ( ImageSequence seqID, ImageDescriptionHandle newDesc, Boolean *equivalent );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.newDesc
Дескриптор к
ImageDescription
структура структуры, описывающая сжатое изображение.equivalent
Указатель на булево значение. Если
ImageDescriptionHandle
если вnewDesc
параметр эквивалентенImageDescription
структура, использующаяся в настоящее время последовательностью изображений, это значение установлено в TRUE. ЕслиImageDescriptionHandle
не эквивалентно, и поэтому новая последовательность изображений должна быть создана для отображения изображения с помощью нового описания изображения, это значение установлено в FALSE.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет приложению спрашивать, являются ли два описания изображения тем же. Если они, декомпрессор не должен создавать новую последовательность распаковки изображения для отображения тех изображений.
Специальные замечания
Программа управления сжатием изображений может только реализовать часть этой функции отдельно. Существуют некоторые поля в
ImageDescription
структура, которую это знает, не важна декомпрессору. Если Программа управления сжатием изображений решает, что существуют различия в полях, которые могут быть значительными к кодеку, она вызывает функциюImageCodecIsImageDescriptionEquivalent
спросить кодек.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceFlush CDSequenceFlush
(OS X v10.9)Останавливает последовательность распаковки, прерывая обработку любых кадров с очередями.
Объявление
Objective C
OSErr CDSequenceFlush ( ImageSequence seqID );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция используется, чтобы сказать компоненту декомпрессора прекращать обрабатывать любой запланированной асинхронной распаковки с очередями. Это полезно, когда несколько кадров были поставлены в очередь для распаковки в будущем, и приложение должно приостановить воспроизведение последовательности.
Для любых неподтвержденных кадров, подпрограммы завершения Вашего приложения, переданной
DecompressSequenceFrameWhen
, будет вызван с ошибочным результатом-1, указывая, что был отменен кадр. Если какие-либо кадры в настоящее время распаковываются и не могут быть отменены,CDSequenceFlush
ожидает, пока кадр не закончил распаковывать перед возвратом.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceInvalidate CDSequenceInvalidate
(OS X v10.9)Уведомляет Программу управления сжатием изображений, что целевой порт для данной последовательности распаковки изображения был лишен законной силы.
Объявление
Objective C
OSErr CDSequenceInvalidate ( ImageSequence seqID, RgnHandle invalRgn );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
.invalRgn
Дескриптор к области, указывающей недопустимую часть изображения.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Вы вызываете эту функцию, чтобы вынудить Программу управления сжатием изображений перерисовать экранные биты на следующей работе распаковки.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceNewDataSource CDSequenceNewDataSource
(OS X v10.9)Создает новый источник данных.
Объявление
Objective C
OSErr CDSequenceNewDataSource ( ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber, Handle dataDescription, ICMConvertDataFormatUPP transferProc, void *refCon );
Параметры
seqID
Уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.sourceID
Возвращает новый идентификатор источника данных.
sourceType
Четыре кода символа, описывающие, как будет использоваться ввод. Этот код обычно получается из информации, возвращенной кодеком. Например, если бы плоскость маски была передана, то это поле могло бы содержать
'mask'
.sourceInputNumber
Больше чем один экземпляр данного исходного типа может существовать. Первое возникновение должно иметь исходное входное число 1, второе исходное входное число 2, и т.д.
dataDescription
Дескриптор к структуре данных, описывающей входные данные. Для сжатых данных изображения это
ImageDescriptionHandle
.transferProc
Подпрограмма, позволяющая приложению преобразовывать тип входных данных к виду данных, предпочтенных кодеком. Клиент кодека передает исходные данные в форме, самой удобной для него. Если кодеку нужны данные в другой форме, это может согласовать с клиентом или непосредственно с Программой управления сжатием изображений для получения требуемого формата данных.
refCon
Ссылочная константа, которая будет передана процедуре передачи. Используйте этот параметр для указания на структуру данных, содержащую любую информацию функциональные потребности.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция возвращает a
sourceID
параметр, который должен быть передан всем другим функциям та ссылка источник. Все источники данных автоматически расположены, когда расположена последовательность, с которой они связаны.// CDSequenceNewDataSource coding example
// See "Discovering QuickTime," page 309
{
ImageSequenceDataSource lSrc1 =0;
// Store a description of the first GWorld in hImageDesc1
nErr =MakeImageDescriptionForPixMap(GetGWorldPixMap(gWorld1),
&hImageDesc1);
// Create a source from the GWorld description.
nErr =CDSequenceNewDataSource(gEffectSequenceID,
&lSrc1,
'srcA',
1,
(Handle)hImageDesc1,
NIL,
0);
// Set the data for source srcA to be the pixMap of gWorld1
CDSequenceSetSourceData(lSrc1,
GetPixBaseAddr(GetGWorldPixMap(gWorld1)),
(**hImageDesc1).dataSize);
}
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceNewMemory CDSequenceNewMemory
(OS X v10.9)Запросы выделенная кодеку память.
Объявление
Objective C
OSErr CDSequenceNewMemory ( ImageSequence seqID, Ptr *data, Size dataSize, long dataUse, ICMMemoryDisposedUPP memoryGoneProc, void *refCon );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.data
Возвращает указатель на выделенную память.
dataSize
Требуемый размер буфера данных.
dataUse
Код (см. ниже), который указывает, как должна использоваться память. Например, память может использоваться для хранения сжатых данных плоскости изображения или плоскости маски или использоваться в качестве внеэкранного буфера изображения. Если нет никакого преимущества к хранению определенного вида данных в памяти кодека, кодек должен отклонить запрос на выделение памяти. Посмотрите эти константы:
memoryGoneProc
Указатель на функцию обратного вызова, которую вызовут перед избавлением от памяти, выделенной кодеком, как описано в
ICMMemoryDisposedProc
.refCon
Ссылочная константа, которая будет передана Вашему обратному вызову. Используйте этот параметр для указания на структуру данных, содержащую любую информацию функциональные потребности.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Поскольку много аппаратных плат распаковки содержат выделенную встроенную память, значительное увеличение производительности может быть понято, если эта память используется, чтобы хранить данные, прежде чем это будет распаковано. Когда память выделяется, функция обратного вызова должна быть предоставлена, как описано в
ICMMemoryDisposedProc
. Декомпрессор может избавиться от всей памяти, которую он выделил в любое время, но он вызывает подпрограмму обратного вызова перед избавлением от памяти. Процедура обратного вызова требуется, потому что может быть ограничена память на аппаратной плате распаковки. Если декомпрессор не может освободить память как требуется, возможно, что неактивный экземпляр декомпрессора может содержать большой объем памяти, отклоняя те ресурсы к в настоящее время активному экземпляру декомпрессора. Когда процедуру обратного вызова вызывают, память все еще доступна. Это позволяет любым незаконченным чтениям в блок быть отмененными, прежде чем будет расположен блок. Декомпрессор, располагающий память, должен гарантировать, что это не располагает блок, который это в настоящее время использует (т.е. блок, содержащий в настоящее время распаковывающий кадр). Для избавления от памяти использоватьCDSequenceDisposeMemory
.Специальные замечания
Во время прерывания никогда не должна располагаться память декомпрессора.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceSetSourceData CDSequenceSetSourceData
(OS X v10.9)Данные наборов в новом кадре к определенному источнику данных.
Объявление
Objective C
OSErr CDSequenceSetSourceData ( ImageSequenceDataSource sourceID, void *data, long dataSize );
Параметры
sourceID
Содержит исходный идентификатор источника данных.
data
Точки к данным. Этот указатель должен содержать 32-разрядный чистый адрес.
dataSize
Размер буфера данных.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция вызвана для установки данных в новом кадре к определенному источнику. Например, поскольку новый кадр сжатых данных достигает источника,
CDSequenceSetSourceData
будет вызван.// CDSequenceSetSourceData coding example
// See "Discovering QuickTime," page 309
{
ImageSequenceDataSource lSrc1 =0;
// Store a description of the first GWorld in hImageDesc1
nErr =MakeImageDescriptionForPixMap(GetGWorldPixMap(gWorld1),
&hImageDesc1);
// Create a source from the GWorld description.
nErr =CDSequenceNewDataSource(gEffectSequenceID,
&lSrc1,
'srcA',
1,
(Handle)hImageDesc1,
NIL,
0);
// Set the data for source srcA to be the pixMap of gWorld1
CDSequenceSetSourceData(lSrc1,
GetPixBaseAddr(GetGWorldPixMap(gWorld1)),
(**hImageDesc1).dataSize);
}
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompressSequenceBegin CompressSequenceBegin
(OS X v10.9)Сигнализирует начало процесса сжатия последовательности кадров.
Объявление
Objective C
OSErr CompressSequenceBegin ( ImageSequence *seqID, PixMapHandle src, PixMapHandle prev, const Rect *srcRect, const Rect *prevRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate, CTabHandle ctable, CodecFlags flags, ImageDescriptionHandle desc );
Параметры
seqID
Указатель на поле для получения уникального идентификатора для этой последовательности. Необходимо предоставить этот идентификатор ко всем последующим функциям Программы управления сжатием изображений, касающимся этой последовательности.
src
Дескриптор к пиксельной карте, которая будет содержать изображение, которое будет сжато. Изображение должно быть сохранено в структуре пиксельной карты.
prev
Дескриптор к пиксельной карте, которая будет содержать предыдущее изображение. Компрессор использует этот буфер для хранения предыдущего изображения, против которого текущее изображение (сохранил в пиксельной карте, именуемой
src
параметр), сравнен при выполнении временного сжатия. Эта пиксельная карта должна быть создана на той же глубине и с той же таблицей цветов как исходное изображение. Компрессор управляет содержанием этой пиксельной карты, основанной на нескольких соображениях, таких как уровень ключевого кадра и степень различия между сравненными изображениями. Если Вы хотите, чтобы компрессор выделил эту пиксельную карту или если Вы не хотите выполнять временное сжатие (т.е. Вы установили значениеtemporalQuality
параметр к 0), устанавливает этот параметр наNIL
.srcRect
Указатель на прямоугольник, определяющий часть изображения для сжатия. Компрессор применяет этот прямоугольник к изображению, сохраненному в буфере, именуемом
src
параметр.prevRect
Указатель на прямоугольник, определяющий часть предыдущего изображения для использования для временного сжатия. Компрессор использует эту часть предыдущего изображения как основание сравнения с текущим изображением. Если Вы не обеспечили буфер для предыдущих изображений, компрессор игнорирует этот параметр. Этот прямоугольник должен быть тем же размером как исходный прямоугольник, указанный с
srcRect
параметр.colorDepth
Глубина, на которой, вероятно, будет просмотрена последовательность. Компрессоры могут использовать это в качестве индикации относительно цветного или полутонового разрешения сжатых изображений. При установке этого параметра на 0 Программа управления сжатием изображений определяет надлежащее значение для исходного изображения. Значения 1, 2, 4, 8, 16, 24, и 32 указывают число бит на пиксель для цветных изображений. Значения 34, 36, и 40 указывают 2-разрядную, 4-разрядную, и 8-разрядную шкалу полутонов, соответственно, для полутоновых изображений. Ваша программа может определить, какие глубины поддерживаются данным компрессором путем исследования информационной структуры компрессора, возвращенной
GetCodecInfo
функция.cType
Необходимо установить этот параметр на допустимый постоянный тип компрессора. Посмотрите
Codec Identifiers
.codec
Укажите определенный компрессор путем установки этого параметра на его идентификатор компрессора. Также можно использовать специальный идентификатор (см. ниже). Указание экземпляра компонента может быть полезным, если Вы ранее установили некоторый параметр на определенном экземпляре поля кодека и хотите удостовериться, что указанный экземпляр используется для той работы. Посмотрите эти константы:
spatialQuality
Указатель на поле, содержащее константу (см. ниже), который определяет желаемое сжатое качество изображения. Можно измениться
value
из этого параметра для активной последовательности путем вызоваSetCSequenceQuality
. Посмотрите эти константы:codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
temporalQuality
Указатель на поле, содержащее константу (см. ниже), который определяет желаемое временное качество. Этот параметр управляет уровнем сжатия, которого Вы желаете относительно информации между последовательными кадрами в последовательности. Набор к 0, если Вы не хотите временное сжатие. Можно измениться
value
из этого параметра для активной последовательности путем вызоваSetCSequenceQuality
.keyFrameRate
Указывает максимальное количество кадров, позволенных между ключевыми кадрами. Компрессор определяет оптимальное размещение для ключевых кадров, основанных на сумме избыточности между смежными изображениями в последовательности. Следовательно, компрессор может кадры клавиши Insert более часто, чем Вы запрашивать. Однако компрессор никогда не помещает меньше ключевых кадров, чем обозначено установкой
keyFrameRate
параметр. Компрессор игнорирует этот параметр, если Вы не запросили временное сжатие (т.е. Вы установилиtemporalQuality
параметр к 0). Если Вы передаете в 0 в этом параметре, это указывает, что нет никаких ключевых кадров в последовательности. Если Вы передаете в каком-либо другом числе, оно указывает число неключевых кадров между ключевыми кадрами. Установите этот параметр на 1 для указания всех ключевых кадров, на 2 для указания любого кадра как ключевой кадр, к 3 для указания каждого третьего кадра как ключевой кадр, и т.д. Ваше приложение может изменить уровень ключевого кадра для активной последовательности путем вызоваSetCSequenceKeyFrameRate
.ctable
Дескриптор к таблице поиска пользовательского цвета. Ваша программа может использовать этот параметр для указания таблицы поиска пользовательского цвета, которая будет использоваться с этим изображением. Если значение
colorDepth
параметр меньше чем или равен 8, и таблица поиска пользовательского цвета отличается от той из карты исходного пикселя (т.е.ctSeed
значения полей отличаются по этим двум пиксельным картам), компрессор повторно отображает цвета изображения к пользовательским цветам. Если Вы устанавливаетеcolorDepth
параметр к 16, 24, или 32, компрессор хранит таблицу пользовательского цвета сжатым изображением. Компрессор может использовать таблицу для указания лучших цветов для использования при отображении изображения в более низких битовых глубинах. Компрессор игнорируетctable
параметр, когдаcolorDepth
установлен в 33, 34, 36, или 40. Если Вы устанавливаете этот параметр наNIL
, компрессор использует таблицу цветов из карты исходного пикселя.flags
Содержит флаги (см. ниже), которые обеспечивают дальнейшую управляющую информацию. Необходимо установить также
codecFlagUpdatePrevious
илиcodecFlagUpdatePreviousComp
к 1. Установите неиспользованные флаги в 0. Посмотрите эти константы:codecFlagUpdatePrevious
codecFlagUpdatePreviousComp
codecFlagWasCompressed
desc
Дескриптор, который должен получить отформатированный
ImageDescription
структура. Программа управления сжатием изображений изменяет размеры этого дескриптора для возвращенной структуры описания изображения. Ваше приложение должно сохранить это описание изображения сжатой последовательностью. Во время работы сжатия Программа управления сжатием изображений и компонент компрессора обновляют содержание этого описания изображения. Следовательно, Вы не должны хранить описание изображения, пока не была полностью обработана последовательность.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Программа управления сжатием изображений подготавливается к работе сжатия последовательности путем резервирования надлежащих системных ресурсов. Следовательно необходимо вызвать
CompressSequenceBegin
перед вызовомCompressSequenceFrame
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompressSequenceFrame CompressSequenceFrame
(OS X v10.9)Сжатия одна из последовательности кадров.
Объявление
Objective C
OSErr CompressSequenceFrame ( ImageSequence seqID, PixMapHandle src, const Rect *srcRect, CodecFlags flags, Ptr data, long *dataSize, UInt8 *similarity, ICMCompletionProcRecordPtr asyncCompletionProc );
Параметры
seqID
Уникальный идентификатор последовательности, возвращенный
CompressSequenceBegin
.src
Дескриптор к пиксельной карте, содержащей изображение, которое будет сжато. Изображение должно быть сохранено в структуре пиксельной карты.
srcRect
Указатель на прямоугольник, определяющий часть изображения для сжатия. Компрессор применяет этот прямоугольник к изображению, сохраненному в буфере, именуемом
src
параметр.flags
Указывает флаги (см. ниже), которые обеспечивают дальнейшую управляющую информацию. Необходимо установить также
codecFlagUpdatePrevious
илиcodecFlagUpdatePreviousComp
к 1. Установите неиспользованные флаги в 0. Посмотрите эти константы:codecFlagUpdatePrevious
codecFlagWasCompressed
codecFlagUpdatePreviousComp
codecFlagForceKeyFrame
codecFlagLiveGrab
data
Точки к расположению для получения сжатых данных изображения. Это - ответственность Вашей программы удостовериться, что это расположение может получить, по крайней мере, столько данных сколько обозначенный
GetMaxCompressionSize
функция. Программа управления сжатием изображений помещает фактический размер сжатого изображения в поле, именуемоеdataSize
параметр. Этот указатель должен содержать 32-разрядный чистый адрес.dataSize
Указатель на поле, которое должно получить размер, в байтах, сжатого изображения.
similarity
Указатель на поле, которое должно получить значение подобия.
CompressSequenceFrame
функционируйте возвращает значение, указывающее подобие текущего кадра к предыдущему кадру. Значение 0 указывает, что текущий кадр является ключевым кадром в последовательности. Значение 255 указывает, что текущий кадр идентичен предыдущему кадру. Значения от 1 до 254 указывают относительное подобие, в пределах от совсем другого (1) к очень подобному (254).asyncCompletionProc
Точки к
ICMCompletionProc
обратный вызов. Когда асинхронная работа сжатия завершена, компрессор вызывает Вашу функцию завершения. Можно заставить сжатие выполняться асинхронно путем указания функции завершения если держатели компрессора асинхронное сжатие.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Программа управления сжатием изображений подготавливается к работе сжатия последовательности путем резервирования надлежащих системных ресурсов. Следовательно необходимо вызвать
CompressSequenceBegin
перед вызовомCompressSequenceFrame
.Специальные замечания
При указании асинхронной работы Вы не должны считывать сжатые данные, пока компрессор не указывает, что работа завершена путем вызывания функции завершения. Набор
asyncCompletionProc
кNIL
указать синхронное сжатие. Если Вы устанавливаетеasyncCompletionProc
к-1, работа выполняется асинхронно, но компрессор не вызывает Вашу функцию завершения. ЕслиasyncCompletionProc
параметр неNIL
, следующие условия имеют силу: пиксели в исходном изображении должны остаться допустимыми, пока функция завершения не вызвана сcodecCompletionSource
флаг и получающиеся сжатые данные не допустимы, пока это не вызывают сcodecCompletionDest
флаг установлен.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DecompressSequenceBegin DecompressSequenceBegin
(OS X v10.9)Устаревший. Посмотрите DecompressSequenceBeginS.
Объявление
Objective C
OSErr DecompressSequenceBegin ( ImageSequence *seqID, ImageDescriptionHandle desc, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec );
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DecompressSequenceBeginS DecompressSequenceBeginS
(OS X v10.9)Отправляет демонстрационное изображение в декомпрессор.
Объявление
Objective C
OSErr DecompressSequenceBeginS ( ImageSequence *seqID, ImageDescriptionHandle desc, Ptr data, long dataSize, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec );
Параметры
seqID
Указатель на поле для получения уникального идентификатора для последовательности Вы создаете. Необходимо использовать этот идентификатор для последующих вызовов, касающихся этой последовательности распаковки.
desc
Дескриптор к
ImageDescription
структура, описывающая сжатое изображение.data
Точки к сжатым данным изображения. Этот указатель должен содержать 32-разрядный чистый адрес. Идеально, необходимо передать указатель на первый кадр сжатых данных изображения, позволяющих Программе управления сжатием изображений выполнить лучшую работу preflighting последовательность распаковки. Если данные изображения не доступны во время этого вызова, можно передать
NIL
для этого параметра и 0 дляdataSize
. Если Вы передаетеNIL
здесь, тогда Ваш первый вызов кDecompressSequenceFrameWhen
может потребовать большего количества времени установки.dataSize
Размер буфера данных, или 0, если Вы передали
NIL
вdata
параметр.port
Точки к
CGrafPort
структура для конечного изображения.gdh
Дескриптор к
GDevice
структура для конечного изображения. Можно передатьNIL
еслиGDevice
неявно в выборе портов (например, если это - внеэкранный графический мир).srcRect
Указатель на a
Rect
структура, определяющая части изображения для распаковки. ПередачаNIL
если Вы хотите распаковать все исходное изображение. Можно вызватьSetDSequenceSrcRect
изменить исходный прямоугольник для активной последовательности распаковки.matrix
Точки к a
MatrixRecord
структура, указывающая, как преобразовать изображение во время распаковки. ПередачаNIL
использовать единичную матрицу. Ваше приложение может изменить матрицу для активной последовательности путем вызоваSetDSequenceMatrix
.mode
Режим передачи для работы. Посмотрите
Graphics Transfer Modes
. Ваше приложение может изменить режим передачи для активной последовательности путем вызоваSetDSequenceTransferMode
.mask
Дескриптор к области отсечения в системе координат назначения. Если указано, компрессор применяет эту маску к конечному изображению. Если Вы не хотите маскировать биты в
destination
, установите этот параметр наNIL
. Ваше приложение может изменить маску отсечения для активной последовательности путем вызоваSetDSequenceMask
.flags
Флаги распределения буферов (см. ниже). Посмотрите эти константы:
codecFlagUseScreenBuffer
codecFlagUseImageBuffer
accuracy
Константа (см. ниже), который определяет желаемую точность сжатия. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
codec
Идентификатор декомпрессора. Укажите определенный декомпрессор путем установки этого параметра на его идентификатор. Также можно использовать специальный идентификатор (см. ниже). Указание экземпляра компонента может быть полезным, если Вы ранее установили некоторый параметр на определенном экземпляре поля кодека и хотите удостовериться, что указанный экземпляр используется для той работы. Посмотрите эти константы:
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыcodecWouldOffscreenErr
еслиcodecFlagDontUseImageBuffer
установлен и кодек требует, чтобы внеэкранный буфер распаковал к целевому порту. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет Вам передать сжатую выборку, таким образом, кодек может выполнить preflighting перед первым
DecompressSequenceFrameWhen
вызвать. Для распаковки серии изображений вызовите его один раз к предварительному рейсу декомпрессор, выполните вызовы кDecompressSequenceFrameWhen
для распаковки каждого изображения в последовательности затем вызовитеCDSequenceEnd
когда Вы сделаны.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DecompressSequenceFrame DecompressSequenceFrame
(OS X v10.9)Устаревший. Посмотрите DecompressSequenceFrameS.
Объявление
Objective C
OSErr DecompressSequenceFrame ( ImageSequence seqID, Ptr data, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc );
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DecompressSequenceFrameS DecompressSequenceFrameS
(OS X v10.9)Ставит кадр в очередь для распаковки и указывает размер сжатых данных; новые приложения должны использовать DecompressSequenceFrameWhen.
Объявление
Objective C
OSErr DecompressSequenceFrameS ( ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.data
Точки к сжатым данным изображения. Этот указатель должен содержать 32-разрядный чистый адрес.
dataSize
Размер буфера данных.
inFlags
Содержит флаги (см. ниже), которые обеспечивают дальнейшую управляющую информацию. Посмотрите эти константы:
codecFlagNoScreenUpdate
codecFlagDontOffscreen
codecFlagOnlyScreenUpdate
outFlags
Содержит флаги состояния (см. ниже). Декомпрессор обновляет эти флаги в конце работы распаковки. Посмотрите эти константы:
codecFlagUsedNewImageBuffer
codecFlagUsedImageBuffer
codecFlagDontUseNewImageBuffer
codecFlagInterlaceUpdate
codecFlagCatchUpDiff
asyncCompletionProc
Точки к
ICMCompletionProcRecord
структура. Когда асинхронная работа распаковки завершена, компрессор вызывает Вашу функцию завершения. Можно заставить распаковку выполняться асинхронно путем указания функции завершения. При указании асинхронной работы Вы не должны читать распакованное изображение, пока декомпрессор не указывает, что работа завершена путем вызывания функции завершения. НаборasyncCompletionProc
кNIL
указать синхронную распаковку. Если Вы устанавливаетеasyncCompletionProc
к-1, работа выполняется асинхронно, но декомпрессор не вызывает Вашу функцию завершения.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция принимает те же параметры как
DecompressSequenceFrame
функция, с добавлениемdataSize
параметр.Специальные замечания
Новые приложения должны использовать
DecompressSequenceFrameWhen
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
DecompressSequenceFrameWhen DecompressSequenceFrameWhen
(OS X v10.9)Ставит кадр в очередь для распаковки и указывает время, в которое начнется распаковка.
Объявление
Objective C
OSErr DecompressSequenceFrameWhen ( ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc, const ICMFrameTimeRecord *frameTime );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.data
Точки к сжатым данным изображения. Этот указатель должен содержать 32-разрядный чистый адрес.
dataSize
Размер буфера данных.
inFlags
Содержит флаги (см. ниже), которые обеспечивают дальнейшую управляющую информацию. Посмотрите эти константы:
codecFlagNoScreenUpdate
codecFlagDontOffscreen
codecFlagOnlyScreenUpdate
outFlags
Содержит флаги состояния (см. ниже). Декомпрессор обновляет эти флаги в конце работы распаковки. Посмотрите эти константы:
codecFlagUsedNewImageBuffer
codecFlagUsedImageBuffer
codecFlagDontUseNewImageBuffer
codecFlagInterlaceUpdate
codecFlagCatchUpDiff
asyncCompletionProc
Точки к
ICMCompletionProcRecord
структура. Когда асинхронная работа распаковки завершена, компрессор вызывает Вашу функцию завершения. Можно заставить распаковку выполняться асинхронно путем указания функции завершения. При указании асинхронной работы Вы не должны читать распакованное изображение, пока декомпрессор не указывает, что работа завершена путем вызывания функции завершения. НаборasyncCompletionProc
кNIL
указать синхронную распаковку. Если Вы устанавливаетеasyncCompletionProc
к-1, работа выполняется асинхронно, но декомпрессор не вызывает Вашу функцию завершения.frameTime
Точки к
ICMFrameTimeRecord
структура, содержащая информацию времени кадра, включая время, в которое кадр должен быть выведен на экран, его продолжительность и скорость воспроизведения фильма. Этот параметр может бытьNIL
, когда работа распаковки сразу произойдет.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Следующий фрагмент кода показывает эту функцию, используемую для выполнения одного кадра визуального эффекта.
// DecompressSequenceFrameWhen coding example
// See "Discovering QuickTime," page 310
// Decompress a single step of the effect sequence.
OSErr RunEffect(TimeValue lTime, int nNumberOfSteps)
{
OSErr nErr =noErr;
ICMFrameTimeRecord ftr;
// Set the timebase time to the step of the sequence to be rendered
SetTimeBaseValue(timeBase, lTime, nNumberOfSteps);
ftr.value.lo =lTime;
ftr.value.hi =0;
ftr.scale =nNumberOfSteps;
ftr.base =0;
ftr.duration =nNumberOfSteps;
ftr.rate =0;
ftr.recordSize =sizeof(ftr);
ftr.frameNumber =1;
ftr.flags =icmFrameTimeHasVirtualStartTimeAndDuration;
ftr.virtualStartTime.lo =0;
ftr.virtualStartTime.hi =0;
ftr.virtualDuration =nNumberOfSteps;
HLock(hEffectDesc);
DecompressSequenceFrameWhen(gEffectSequenceID,
StripAddress(*hEffectDesc),
GetHandleSize(hEffectDesc),
0,
0,
NIL,
&ftr);
HUnlock(hEffectDesc);
}
Специальные замечания
Если текущий компонент декомпрессора не поддерживает запланированную асинхронную распаковку, Программа управления сжатием изображений возвращает код ошибки
codecCantWhenErr
. В этом случае приложение должно будет переиздать запрос сframeTime
набор параметра кNIL
. Если декомпрессор не может обслужить Ваш запрос в определенное время (например, если его очередь полна), Программа управления сжатием изображений возвращает код ошибкиcodecCantQueueErr
. Лучший способ определить, поддерживает ли компонент декомпрессора эту функцию, состоит в том, чтобы вызвать функцию и протестировать код результата. Возможность декомпрессора соблюдать запрос может измениться на основе экранной глубины, отсекая настройки, и т.д.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetSequenceProgressProc SetSequenceProgressProc
(OS X v10.9)Устанавливает процедуру прогресса для последовательности.
Объявление
Objective C
OSErr SetSequenceProgressProc ( ImageSequence seqID, ICMProgressProcRecord *progressProc );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.progressProc
Указатель на
ICMProgressProcRecord
структура.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет Вам устанавливать
ICMProgressProc
обратный вызов для последовательности сжатия или распаковки, так же, как можно установить процедуру прогресса при сжатии или распаковке неподвижного изображения.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCompressedPixMapInfo GetCompressedPixMapInfo
(OS X v10.9)Получает информацию о сжатом изображении.
Объявление
Objective C
OSErr GetCompressedPixMapInfo ( PixMapPtr pix, ImageDescriptionHandle *desc, Ptr *data, long *bufferSize, ICMDataProcRecord *dataProc, ICMProgressProcRecord *progressProc );
Параметры
pix
Точки к структуре, содержащей закодированные сжатые данные изображения.
desc
Указатель на поле, которое должно получить дескриптор к
ImageDescription
структура, определяющая сжатое изображение. Если Вы не интересуетесь этой информацией, указатьNIL
в этом параметре.data
Указатель на поле, которое должно получить указатель на сжатые данные изображения. Если все сжатое изображение не может быть сохранено в этом расположении, можно определить функцию загрузки данных для этой работы. Если Вы не интересуетесь этой информацией, можно указать
NIL
в этом параметре.bufferSize
Указатель на поле, которое должно получить размер буфера, который будет использоваться функцией загрузки данных, указанной
dataProc
параметр. Если нет никакой функции, определяемой загрузки данных для этой работы, этот параметр проигнорирован. Если Вы не интересуетесь этой информацией, можно указатьNIL
в этом параметре.dataProc
Указатель на
ICMDataProc
обратный вызов. Если существует недостаточно памяти для хранения сжатого изображения, декомпрессор вызывает функцию, Вы обеспечиваете, что загружает более сжатые данные. Если нет никакой функции загрузки данных для этого изображения, функция устанавливаетdataProc
поле в функциональной структуре кNIL
. Если Вы не интересуетесь этой информацией, указатьNIL
в этом параметре.progressProc
Указатель на
ICMProgressProc
обратный вызов. Во время работы распаковки декомпрессор может иногда вызывать функцию, которую Вы обеспечиваете для создания отчетов о ее прогрессе. Если нет никакой функции прогресса для этого изображения, функция устанавливаетprogressProc
поле в функциональной структуре кNIL
. При передаче значения-1 QuickTime обеспечивает стандартную функцию прогресса. Если Вы не интересуетесь информацией о прогрессе, указатьNIL
в этом параметре.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetCompressedPixMapInfo SetCompressedPixMapInfo
(OS X v10.9)Хранит информацию о сжатом изображении для StdPix.
Объявление
Objective C
OSErr SetCompressedPixMapInfo ( PixMapPtr pix, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc );
Параметры
pix
Указатель на a
PixMap
структура, содержащая сжатые данные изображения.desc
Дескриптор к
ImageDescription
структура, определяющая сжатое изображение.data
Указатель на буфер для сжатых данных изображения. Если все сжатое изображение не может быть сохранено в этом расположении, можно присвоить функцию загрузки данных (см.
dataProc
параметр, ниже). Этот указатель должен содержать 32-разрядный чистый адрес.bufferSize
Размер буфера, который будет использоваться функцией загрузки данных, указанной
dataProc
параметр. Если нет никакой функции, определяемой загрузки данных для этой работы, установите этот параметр на 0.dataProc
Указатель на
ICMDataProcRecord
структура. Если существует недостаточно памяти для хранения сжатого изображения, декомпрессор вызываетICMDataProc
обратный вызов, который Вы обеспечиваете, который загружает более сжатые данные. Если Вы не хотите присваивать функцию загрузки данных, установите этот параметр наNIL
.progressProc
Указатель на
ICMProgressProcRecord
структура. Во время работы распаковки декомпрессор может иногда вызыватьICMProgressProc
обратный вызов, который Вы обеспечиваете для создания отчетов о его прогрессе. Если Вы не хотите присваивать функцию прогресса, установите этот параметр наNIL
. При передаче значения-1 Вы получаете стандартную функцию прогресса.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Расширяет grafProcs поле структуры CGrafPort для поддержки сжатых данных, матовых стекол, матриц и пиксельных карт, позволяя Вам прервать данные изображения в сжатой форме, прежде чем это будет распаковано и выведено на экран.
Объявление
Параметры
src
Содержит указатель на a
PixMap
структура, содержащая изображение для рисования. ИспользоватьGetCompressedPixMapInfo
получать информацию об этой структуре.srcRect
Точки к a
Rect
структура, определяющая часть изображения для отображения. Этот прямоугольник должен лечь в граничном прямоугольнике сжатого изображения или в исходном изображении. Если этот параметр устанавливается наNIL
, все изображение выведено на экран.matrix
Содержит указатель на a
MatrixRecord
структура, указывающая отображение исходного прямоугольника месту назначения. Это - фиксированная точка, 3 3 матрица.mode
Указывает режим передачи для работы; посмотрите
Graphics Transfer Modes
. Обратите внимание на то, что этот параметр также управляет точностью любой работы распаковки, которая может потребоваться, чтобы отображать изображение. Если бит 7 (0x80)mode
параметр устанавливается на 1,StdPix
функционируйте устанавливает точность распаковки вcodecNormalQuality
. Если этот бит установлен в 0, функция устанавливает точность вcodecHighQuality
.mask
Содержит дескриптор к области отсечения в системе координат назначения. Если указано, компрессор применяет эту маску к конечному изображению. Если нет никакой маски, этот параметр устанавливается на
NIL
.matte
Точки к a
PixMap
структура, содержащая матовое стекло смешения. Матовое стекло смешения заставляет распакованное изображение быть смешанным в целевую пиксельную карту. Матовое стекло может быть определено в любой поддерживаемой пиксельной глубине; матовая глубина не должна соответствовать источнику или целевым глубинам. Однако матовое стекло должно быть в системе координат исходного изображения. Если нет никакого матового стекла, этот параметр устанавливается наNIL
matteRect
Содержит указатель на a
Rect
структура, определяющая часть матового стекла смешения для применения. Этот параметр устанавливается наNIL
если все матовое стекло должно использоваться, если нет никакого матового стекла или.flags
Содержит флаги управления (см. ниже). Посмотрите эти константы:
callOldBits
callStdBits
noDefaultOpcodes
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ImageFieldSequenceBegin ImageFieldSequenceBegin
(OS X v10.9)Инициирует работу последовательности поля изображений и указывает формат данных ввода и вывода.
Объявление
Objective C
OSErr ImageFieldSequenceBegin ( ImageFieldSequence *ifs, ImageDescriptionHandle desc1, ImageDescriptionHandle desc2, ImageDescriptionHandle descOut );
Параметры
ifs
По возврату, содержит уникальный идентификатор последовательности, присвоенный последовательности.
desc1
ImageDescription
структура, описывающая формат и характеристики данных, которые будут переданыImageFieldSequenceExtractCombine
через data1 параметр.desc2
ImageDescription
структура, описывающая формат и характеристики данных, которые будут переданыImageFieldSequenceExtractCombine
функция через data2 параметр. Набор кNIL
если требуемая работа использует только один входной кадр.descOut
Нужный формат получающихся кадров. Обычно это - тот же формат, указанный desc1 и desc2 параметрами.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Используйте эту функцию, чтобы установить работу последовательности поля изображений и указать формат данных ввода и вывода.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ImageFieldSequenceEnd ImageFieldSequenceEnd
(OS X v10.9)Заканчивает работу последовательности поля изображений.
Объявление
Objective C
OSErr ImageFieldSequenceEnd ( ImageFieldSequence ifs );
Параметры
ifs
Уникальный идентификатор последовательности, возвращенный
ImageFieldSequenceBegin
функция.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Необходимо вызвать эту функцию для завершения работы последовательности поля изображений.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Выполняет деятельность на местах на видеоданных.
Объявление
Objective C
OSErr ImageFieldSequenceExtractCombine ( ImageFieldSequence ifs, long fieldFlags, void *data1, long dataSize1, void *data2, long dataSize2, void *outputData, long *outDataSize );
Параметры
ifs
Уникальный идентификатор последовательности, возвращенный
ImageFieldSequenceBegin
.fieldFlags
Флаги (см. ниже), которые указывают работу, которая будет выполняться. Правильно сформированный запрос укажет два поля ввода, отображая одно на нечетное выходное поле и другой к ровному выходному полю. Посмотрите эти константы:
evenField1ToEvenFieldOut
evenField1ToOddFieldOut
oddField1ToEvenFieldOut
oddField1ToOddFieldOut
evenField2ToEvenFieldOut
evenField2ToOddFieldOut
oddField2ToEvenFieldOut
oddField2ToOddFieldOut
data1
Указатель на буфер, содержащий
data
из поля ввода один.dataSize1
Размер буфера data1.
data2
Указатель на буфер, содержащий
data
из поля ввода два. Набор кNIL
если требуемая работа использует только один входной кадр.dataSize2
Размер буфера data2. Набор к 0, если требуемая работа использует только один входной кадр.
outputData
Указатель на буфер для приема получающегося кадра. Использовать
GetMaxCompressionSize
определить объем памяти для выделения для этого буфера.outDataSize
На выводе этот параметр возвращает фактический размер данных.
Возвращаемое значение
Возвраты
codecUnimpErr
закончитесь код, если нет никакого настоящего кодека в системе, которая может выполнить требуемую работу. ПосмотритеError Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция обеспечивает метод для работы непосредственно с полями чересстрочного видео. Можно использовать его, чтобы изменить полевое преобладание изображения путем инвертирования этих двух полей, или создать или удалить эффекты 3:2 выпадающий обычно выполняемый при передаче фильма видеозаписи NTSC. Поскольку эта функция воздействует непосредственно на сжатые видеоданные, это быстрее, чем работа с распакованными изображениями. Это также обладает дополнительным преимуществом устранения любого ухудшения качества изображения, которое могло бы следовать из кодеков с потерями.
Эта функция принимает одно или два сжатых изображения, как введено и создает единственное сжатое изображение на выводе. Вы указываете работу, которая будет выполняться с помощью
fieldFlags
параметр.Специальные замечания
Компонентное видео Apple (YUV) и Движение кодеки JPEG в настоящее время поддерживают эту функцию.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
OSErr CDSequenceEquivalentImageDescriptionS ( ImageSequence seqID, ImageDescriptionHandle newDesc, Boolean *equivalent, Boolean *canSwitch );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.newDesc
Дескриптор к
ImageDescription
структура структуры, описывающая сжатое изображение.equivalent
Указатель на булево значение. Если
ImageDescriptionHandle
если вnewDesc
параметр эквивалентенImageDescription
структура, использующаяся в настоящее время последовательностью изображений, это значение установлено в TRUE. ЕслиImageDescriptionHandle
не эквивалентно, и поэтому новая последовательность изображений должна быть создана для отображения изображения с помощью нового описания изображения, это значение установлено в FALSE.canSwitch
Недокументированный
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceGetDataSource CDSequenceGetDataSource
(OS X v10.9)Получает источник данных для последовательности распаковки.
Объявление
Objective C
OSErr CDSequenceGetDataSource ( ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber );
Параметры
seqID
Последовательность изображений, с которой связан этот источник.
sourceID
Указатель на исходную ссылку, идентифицирующую этот источник.
sourceType
Четыре кода символа, описывающие, как будет использоваться ввод. Мимо этого значения проходят
CDSequenceNewDataSource
когда создается источник.sourceInputNumber
Значение прошло мимо
CDSequenceNewDataSource
когда создается источник.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceSetSourceDataQueue CDSequenceSetSourceDataQueue
(OS X v10.9)Устанавливает очередь данных как источник для последовательности распаковки.
Объявление
Objective C
OSErr CDSequenceSetSourceDataQueue ( ImageSequenceDataSource sourceID, QHdrPtr dataQueue );
Параметры
sourceID
Содержит исходный идентификатор источника данных.
dataQueue
Указатель на a
QHdr
структура.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CDSequenceSetTimeBase CDSequenceSetTimeBase
(OS X v10.9)Устанавливает основу времени для последовательности распаковки.
Объявление
Objective C
OSErr CDSequenceSetTimeBase ( ImageSequence seqID, void *base );
Параметры
seqID
Уникальный идентификатор последовательности, возвращенный
CompressSequenceBegin
.base
Указатель на время базируется для этой работы. Ваше приложение получает на сей раз основной идентификатор из
NewTimeBase
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
При выполнении визуального эффекта вне фильма необходимо определять основу времени, которая будет использоваться, когда будет выполнен эффект. Следующий код иллюстрирует это использование
CDSequenceSetTimeBase
:// CDSequenceSetTimeBase coding example
// See "Discovering QuickTime," page 310
timeBase =NewTimeBase();
SetTimeBaseRate(timeBase, 0);
CDSequenceSetTimeBase(gEffectSequenceID, timeBase);
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompCompare CompCompare
(OS X v10.9)Недокументированный
Параметры
a
Недокументированный
minusb
Недокументированный
Возвращаемое значение
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
long CompDiv ( wide *numerator, long denominator, long *remainder );
Параметры
numerator
Недокументированный
denominator
Недокументированный
remainder
Недокументированный
Возвращаемое значение
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompFixMul CompFixMul
(OS X v10.9)Недокументированный
Параметры
compSrc
Недокументированный
fixSrc
Недокументированный
compDst
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
void CompMul ( long src1, long src2, wide *dst );
Параметры
src1
Недокументированный
src2
Недокументированный
dst
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompMulDiv CompMulDiv
(OS X v10.9)Недокументированный
Объявление
Objective C
void CompMulDiv ( wide *co, long mul, long divisor );
Параметры
co
Недокументированный
mul
Недокументированный
divisor
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompMulDivTrunc CompMulDivTrunc
(OS X v10.9)Недокументированный
Объявление
Objective C
void CompMulDivTrunc ( wide *co, long mul, long divisor, long *remainder );
Параметры
co
Недокументированный
mul
Недокументированный
divisor
Недокументированный
remainder
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
void CompNeg ( wide *dst );
Параметры
dst
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
void CompShift ( wide *src, short shift );
Параметры
src
Недокументированный
shift
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
CompSquareRoot CompSquareRoot
(OS X v10.9)Недокументированный
Объявление
Objective C
unsigned long CompSquareRoot ( const wide *src );
Параметры
src
Недокументированный
Возвращаемое значение
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
Fixed FixExp2 ( Fixed src );
Параметры
src
Фиксированное целое число.
Возвращаемое значение
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
Fixed FixLog2 ( Fixed src );
Параметры
src
Фиксированное целое число.
Возвращаемое значение
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
Fixed FixMulDiv ( Fixed src, Fixed mul, Fixed divisor );
Параметры
src
Недокументированный
mul
Недокументированный
divisor
Недокументированный
Возвращаемое значение
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
Fixed FixPow ( Fixed base, Fixed exp );
Параметры
base
Недокументированный
exp
Недокументированный
Возвращаемое значение
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
FracSinCos FracSinCos
(OS X v10.9)Недокументированный
Параметры
degree
Недокументированный
cosOut
Недокументированный
Возвращаемое значение
Недокументированный
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCSequenceFrameNumber GetCSequenceFrameNumber
(OS X v10.9)Возвращает текущее число кадра указанной последовательности.
Объявление
Objective C
OSErr GetCSequenceFrameNumber ( ImageSequence seqID, long *frameNumber );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
CompressSequenceBegin
функция.frameNumber
Указатель на текущее число кадра последовательности, идентифицированной
seqID
параметр.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetCSequenceKeyFrameRate GetCSequenceKeyFrameRate
(OS X v10.9)Устанавливает текущий курс ключевого кадра последовательности.
Объявление
Objective C
OSErr GetCSequenceKeyFrameRate ( ImageSequence seqID, long *keyFrameRate );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
CompressSequenceBegin
.keyFrameRate
Указатель на длинное целое, указывающее максимальное количество кадров, позволенных между ключевыми кадрами. Ключевые кадры обеспечивают точки, от которых может быть распакована временно сжатая последовательность.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
GetDSequenceMatrix GetDSequenceMatrix
(OS X v10.9)Получает матрицу, указанную для последовательности распаковки вызовом к SetDSequenceMatrix, или это было установлено в DecompressSequenceBegin.
Объявление
Objective C
OSErr GetDSequenceMatrix ( ImageSequence seqID, MatrixRecordPtr matrix );
Параметры
seqID
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
.matrix
Точки к матричной структуре, указывающей, как преобразовать изображение во время распаковки
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Возвращает направление дисплея для последовательности распаковки.
Объявление
Objective C
OSErr GetDSequenceNonScheduledDisplayDirection ( ImageSequence sequence, Fixed *rate );
Параметры
sequence
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.rate
Указатель на направление дисплея. Отрицательные величины представляют обратный дисплей, и положительные значения представляют прямой дисплей.
Возвращаемое значение
Код ошибки. Возвраты
noErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Получает время дисплея для последовательности распаковки.
Объявление
Objective C
OSErr GetDSequenceNonScheduledDisplayTime ( ImageSequence sequence, TimeValue64 *displayTime, TimeScale *displayTimeScale );
Параметры
sequence
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.displayTime
Указатель на переменную для содержания времени дисплея.
displayTimeScale
Указатель на переменную для содержания масштаба времени дисплея.
Возвращаемое значение
Код ошибки. Возвраты
noErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Определяет местоположение и открывает графический компонент средства импорта для файла с флагами, управляющими поисковым процессом.
Объявление
Objective C
OSErr GetGraphicsImporterForFileWithFlags ( const FSSpec *theFile, ComponentInstance *gi, long flags );
Параметры
theFile
Файл, который будет нарисован с помощью графического компонента средства импорта.
gi
По возврату, содержит указатель на
ComponentInstance
из графического средства импорта. Если никакое графическое средство импорта не может быть найдено для указанного файла,gi
будет установлен вNIL
. ЕслиGetGraphicsImporterForFileWithFlags
в состоянии определить местоположение графического средства импорта для файла, возвращенного графического средства импортаComponentInstance
будет уже установлен для рисования указанного файла к текущему порту.flags
Содержит флаги (см. ниже), которые управляют графическим процессом поиска средства импорта. Посмотрите эти константы:
kDontUseValidateToFindGraphicsImporter
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция сначала пытается определить местоположение графического компонента средства импорта для указанного файла на основе его типа файла. Если это неспособно определить местоположение графического средства импорта, компонентно-ориентированного на типе файла Macintosh, или вызов выполняется на файле не-Macintosh,
GetGraphicsImporterForFile
попытается определить местоположение графического средства импорта, компонентно-ориентированного на расширении файла (таком как.JPG или.GIF). Если графическое средство импорта не может быть найдено с помощью типа или расширения файла,GetGraphicsImporterForFile
просит каждое графическое средство импорта проверять файл, до него или находит средство импорта, которое может обработать файл или исчерпывает список возможных средств импорта. Эта попытка проверки может быть довольно длительной. Обойти попытку проверки, передачуkDontUseValidateToFindGraphicsImporter
вflags
параметр.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
HitTestDSequenceData HitTestDSequenceData
(OS X v10.9)Недокументированный
Объявление
Objective C
OSErr HitTestDSequenceData ( ImageSequence seqID, void *data, Size dataSize, Point where, long *hit, long hitFlags );
Параметры
seqID
Уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.data
Указатель на данные.
dataSize
Размер данных.
where
A
Point
структура, определяющая расположение хита.hit
Недокументированный
hitFlags
Недокументированный
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMDecompressCompleteS ICMDecompressCompleteS
(OS X v10.9)Недокументированный
Объявление
Objective C
OSErr ICMDecompressCompleteS ( ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.err
Указывает, успешно выполнилась ли работа или отказавший. Посмотрите
Error Codes
.flag
Недокументированный
completionRtn
Указатель на
ICMCompletionProcRecord
структура.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMGetPixelFormatInfo ICMGetPixelFormatInfo
(OS X v10.9)Получает информацию о формате пикселя.
Объявление
Objective C
OSErr ICMGetPixelFormatInfo ( OSType PixelFormat, ICMPixelFormatInfoPtr theInfo );
Параметры
PixelFormat
Константа, идентифицирующая формат; посмотрите
Pixel Formats
.theInfo
Указатель на Ваш
ICMPixelFormatInfo
структура, в которой возвращается информация. Необходимо инициализироватьsize
поле этой структуры сsizeof (ICMPixelFormatInfo)
. Функция не скопирует больше, чем это число байтов в структуру. По возврату,size
поле содержит фактический размер структуры данных. Если эта сумма больше размер, Вы передали в, который означает, что Вы не получали всю информацию.Возвращаемое значение
Возвраты
cDepthErr
если формат пикселя не допустим. Для других ошибок посмотритеError Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMSequenceGetChainMember ICMSequenceGetChainMember
(OS X v10.9)Недокументированный
Объявление
Objective C
OSErr ICMSequenceGetChainMember ( ImageSequence seqID, ImageSequence *retSeqID, long flags );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.retSeqID
Недокументированный
flags
Недокументированный
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMSequenceGetInfo ICMSequenceGetInfo
(OS X v10.9)Получает многопроцессорные свойства для последовательностей сжатия и распаковки.
Объявление
Objective C
OSErr ICMSequenceGetInfo ( ImageSequence seqID, OSType which, void *data );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.which
Константа (см. ниже), который определяет свойство, которое будет возвращено. Посмотрите эти константы:
kICMSequenceTaskWeight
kICMSequenceTaskName
data
Значение свойства, обозначенного, который параметр.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция определяет, запросили ли клиенты ICM, чтобы многопроцессорные задачи, помогающие сжатию и операциям распаковки, использовали определенные веса задачи и имена задач.
Специальные замечания
Многопроцессорная возможность Apple поддерживает и согласованно запланированные задачи и преимущественно запланированные задачи. Поддержка преимущественно задач позволяет приложениям создавать симметрично запланированные приоритетные задачи, которые могут быть выполнены на единственной машине процессора и в полной мере воспользуются многократными процессорами, когда они установлены.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMSequenceLockBits ICMSequenceLockBits
(OS X v10.9)Недокументированный
Объявление
Objective C
OSErr ICMSequenceLockBits ( ImageSequence seqID, PixMapPtr dst, long flags );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.dst
Указатель на a
PixMap
структура.flags
Недокументированный
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMSequenceSetInfo ICMSequenceSetInfo
(OS X v10.9)Свойства многопроцессорной обработки наборов для последовательностей сжатия и распаковки.
Объявление
Objective C
OSErr ICMSequenceSetInfo ( ImageSequence seqID, OSType which, void *data, Size dataSize );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.which
Константа (см. ниже), который определяет свойство, которое будет установлено. Посмотрите эти константы:
kICMSequenceTaskWeight
kICMSequenceTaskName
data
Значение свойства, которое будет установлено.
dataSize
Длина в байтах
data
параметр.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция позволяет клиентам ICM запросить, чтобы многопроцессорные задачи, помогающие сжатию и операциям распаковки, использовали определенные веса задачи и имена задач.
Специальные замечания
Многопроцессорная возможность Apple поддерживает и согласованно запланированные задачи и преимущественно запланированные задачи. Поддержка преимущественно задач позволяет приложениям создавать симметрично запланированные приоритетные задачи, которые могут быть выполнены на единственной машине процессора и в полной мере воспользуются многократными процессорами, когда они установлены.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMSequenceUnlockBits ICMSequenceUnlockBits
(OS X v10.9)Недокументированный
Объявление
Objective C
OSErr ICMSequenceUnlockBits ( ImageSequence seqID, long flags );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.flags
Недокументированный
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
ICMSetPixelFormatInfo ICMSetPixelFormatInfo
(OS X v10.9)Позволяет Вам определить свой собственный формат пикселя.
Объявление
Objective C
OSErr ICMSetPixelFormatInfo ( OSType PixelFormat, ICMPixelFormatInfoPtr theInfo );
Параметры
PixelFormat
Постоянный формат пикселя. Посмотрите
Pixel Formats
.theInfo
Указатель на
ICMPixelFormatInfo
структура, содержащая определение нового формата пикселя.Возвращаемое значение
Возвраты
paramErr
если уже определяется формат. ПосмотритеError Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Заполняет структуру ImageDescription, соответствующую структуре PixMap.
Объявление
Objective C
OSErr MakeImageDescriptionForPixMap ( PixMapHandle pixmap, ImageDescriptionHandle *idh );
Параметры
pixmap
Дескриптор к a
PixMap
структура.idh
Дескриптор
ImageDescription
структура. На записи этот параметр обычно указывает наImageDescription
структура, содержание которойNIL
. По возврату структура правильно заполнена для выбранногоPixMap
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTGetFileNameExtension QTGetFileNameExtension
(OS X v10.9)Получает расширение имени файла.
Объявление
Objective C
OSErr QTGetFileNameExtension ( ConstStrFileNameParam fileName, OSType fileType, OSType *extension );
Параметры
fileName
Строка имени файла.
fileType
Тип файла; посмотрите
File Types and Creators
.extension
Указатель на строку расширения файла.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTGetPixelSize QTGetPixelSize
(OS X v10.9)Возвращает биты на пиксель для данного формата пикселя.
Объявление
Objective C
short QTGetPixelSize ( OSType PixelFormat );
Параметры
PixelFormat
Константа, идентифицирующая формат пикселя; посмотрите
Pixel Formats
. Эта функция возвращает значимую информацию только для непланарных форматов.Возвращаемое значение
Биты на пиксель. Возвраты 0, если формат неизвестен.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTGetPixMapHandleGammaLevel QTGetPixMapHandleGammaLevel
(OS X v10.9)Получает текущую гамма установку уровня расширения PixMap.
Объявление
Objective C
Fixed QTGetPixMapHandleGammaLevel ( PixMapHandle pm );
Параметры
pm
Дескриптор к a
PixMap
структура, имеющая aPixMapExtension
структура.Возвращаемое значение
По возврату, гамма уровень ранее набор (или уровень по умолчанию) для пиксельной карты, на которую ссылаются
pm
параметр.Обсуждение
Типичное использование для этой функции должно получить гамма уровень пиксельной карты после того, как кодек распакует его в a
PixMap
структура.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Получает требуемую гамма установку уровня расширения текущего PixMap.
Объявление
Objective C
Fixed QTGetPixMapHandleRequestedGammaLevel ( PixMapHandle pm );
Параметры
pm
Дескриптор к a
PixMap
структура, имеющая aPixMapExtension
структура.Возвращаемое значение
По возврату, требуемый гамма уровень ранее набор (или уровень по умолчанию) для пиксельной карты, на которую ссылаются
pm
параметр.Обсуждение
Типичное использование для этой функции должно получить гамма уровень пиксельной карты после того, как кодек распакует его в a
PixMap
структура. Требуемый гамма уровень используется для управления тем, какое гамма преобразование опробовано во время распаковки. Требуемый гамма уровень может отличаться от фактического гамма уровня в зависимости от сжатых данных и возможностей включенных кодеков.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTGetPixMapHandleRowBytes QTGetPixMapHandleRowBytes
(OS X v10.9)Получает значение rowBytes для пиксельной карты, к которой получает доступ дескриптор.
Объявление
Objective C
long QTGetPixMapHandleRowBytes ( PixMapHandle pm );
Параметры
pm
Дескриптор к a
PixMap
структура.Возвращаемое значение
rowBytes
значение.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTGetPixMapPtrGammaLevel QTGetPixMapPtrGammaLevel
(OS X v10.9)Получает текущую гамма установку уровня расширения PixMap.
Объявление
Objective C
Fixed QTGetPixMapPtrGammaLevel ( PixMapPtr pm );
Параметры
pm
Указатель на a
PixMap
структура, имеющая aPixMapExtension
структура.Возвращаемое значение
По возврату, гамма уровень ранее набор (или уровень по умолчанию) для пиксельной карты, на которую указывают
pm
параметр.Обсуждение
Типичное использование для этой функции должно получить гамма уровень пиксельной карты после того, как кодек распакует его в a
PixMap
структура.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Получает текущую гамма установку уровня расширения PixMap.
Объявление
Objective C
Fixed QTGetPixMapPtrRequestedGammaLevel ( PixMapPtr pm );
Параметры
pm
Указатель на a
PixMap
структура, имеющая aPixMapExtension
структура.Возвращаемое значение
По возврату, требуемый гамма уровень ранее набор (или уровень по умолчанию) для пиксельной карты, на которую указывают
pm
параметр.Обсуждение
Типичное использование для этой функции должно получить гамма уровень пиксельной карты после того, как кодек распакует его в a
PixMap
структура. Требуемый гамма уровень используется для управления тем, какое гамма преобразование опробовано во время распаковки. Требуемый гамма уровень может отличаться от фактического гамма уровня в зависимости от сжатых данных и возможностей включенных кодековОператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTGetPixMapPtrRowBytes QTGetPixMapPtrRowBytes
(OS X v10.9)Получает значение rowBytes для пиксельной карты, к которой получает доступ указатель.
Объявление
Objective C
long QTGetPixMapPtrRowBytes ( PixMapPtr pm );
Параметры
pm
Указатель на a
PixMap
структура.Возвращаемое значение
rowBytes
значение.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTNewGWorld QTNewGWorld
(OS X v10.9)Создает внеэкранный графический мир, который может иметь формат пикселя не-Macintosh.
Объявление
Objective C
OSErr QTNewGWorld ( GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags );
Параметры
offscreenGWorld
По возврату указатель на внеэкранный графический мир создается этой подпрограммой.
PixelFormat
Новый графический формат пикселя в мире; посмотрите
Pixel Formats
. Эта функция не будет работать с планарными форматами пикселя; использоватьQTNewGWorldFromPtr
вместо этого. ПосмотритеICMPixelFormatInfo
структура для обсуждения планарных и коротких форматов.boundsRect
Указатель на граничный прямоугольник и прямоугольник порта для внеэкранной пиксельной карты. Это становится граничным прямоугольником для
GDevice
структура, если эта функция создает тот. Если Вы указываете 0 вPixelFormat
параметр, функция интерпретирует границы в глобальных координатах, которые это использует для определения, какие экраны пересекают прямоугольник. Это тогда использует формат пикселя, таблицу цветов, иGDevice
структура с экрана с самой большой пиксельной глубиной из числа всех экранов, граничные прямоугольники которых пересекают этот прямоугольник. Как правило, Ваше приложение предоставляет этот параметр прямоугольник порта для экранного окна, в которое Ваше приложение скопирует пиксельное изображение с этого внеэкранного мира.cTable
Дескриптор к a
ColorTable
структура. Если Вы передаетеNIL
в этом параметре функция использует таблицу цвета по умолчанию для формата пикселя, который Вы указываете вPixelFormat
параметр. Если Вы устанавливаетеPixelFormat
параметр к 0, функция игнорируетcTable
параметр и вместо этого копирует и использует таблицу цветов графического устройства с самой большой пиксельной глубиной среди всех графических устройств, граничные прямоугольники которых пересекают прямоугольник, который Вы указываете вboundsRect
параметр. Если Вы используете эту функцию на компьютере, поддерживающем только основной QuickDraw, можно указать толькоNIL
в этом параметре.aGDevice
Дескриптор к a
GDevice
структура, использующаяся только, когда Вы указываетеnoNewDevice
флаг вflags
параметр, когда функция присоединяет эту структуру к новому внеэкранному графическому миру. Если Вы устанавливаетеPixelFormat
параметр к 0, или если Вы не устанавливаетеnoNewDevice
флаг, функция игнорирует этот параметр, таким образом, необходимо установить его вNIL
. Если Вы устанавливаетеPixelFormat
параметр к 0, функция используетGDevice
структура для графического устройства с самой большой пиксельной глубиной среди всех графических устройств, граничные прямоугольники которых пересекают прямоугольник, который Вы указываете вboundsRect
параметр. Необходимо передатьNIL
в этом параметре, если компьютер поддерживает только основной QuickDraw. Обычно Ваше приложение никогда не должно создаватьGDevice
структуры для внеэкранных графических миров.flags
Константы (см. ниже), которые идентифицируют опции, доступные Вашему приложению. Можно установить комбинацию этих флагов. Если Вы не хотите использовать какого-либо из них, передайте 0 в этом параметре. В этом случае поведение по умолчанию состоит в том, чтобы создать внеэкранный графический мир, где базовый адрес для внеэкранного пиксельного изображения unpurgeable, графический мир использует существующее
GDevice
структура (если Вы передаете 0 в параметре глубины) или создает новоеGDevice
структура, это использует память в Вашей «куче» приложения, и это позволяет графическим акселераторам кэшировать внеэкранное пиксельное изображение. Посмотрите эти константы:Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTNewGWorldFromPtr QTNewGWorldFromPtr
(OS X v10.9)Обертывает графический мир и структуру пиксельной карты вокруг существующего блока памяти, содержащей изображение.
Объявление
Objective C
OSErr QTNewGWorldFromPtr ( GWorldPtr *gw, OSType pixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags, void *baseAddr, long rowBytes );
Параметры
gw
На записи, указатель, не собирающийся изменяться во время времени жизни выделенного графического мира. По возврату этот указатель ссылается на внеэкранный графический мир, создаваемый этой функцией.
pixelFormat
Новый графический формат пикселя в мире; посмотрите
Pixel Formats
.boundsRect
Указатель на граничный прямоугольник и прямоугольник порта для внеэкранной пиксельной карты. Это становится граничным прямоугольником для
GDevice
структура, если эта функция создает тот. Если Вы указываете 0 вpixelFormat
параметр, функция интерпретирует границы в глобальных координатах, которые это использует для определения, какие экраны пересекают прямоугольник. Это тогда использует формат пикселя, таблицу цветов, иGDevice
структура с экрана с самой большой пиксельной глубиной из числа всех экранов, граничные прямоугольники которых пересекают этот прямоугольник. Как правило, Ваше приложение предоставляет этот параметр прямоугольник порта для экранного окна, в которое Ваше приложение скопирует пиксельное изображение с этого внеэкранного мира.cTable
Дескриптор к a
ColorTable
структура. Если Вы передаетеNIL
в этом параметре функция использует таблицу цвета по умолчанию для формата пикселя, который Вы указываете вpixelFormat
параметр. Если Вы устанавливаетеpixelFormat
параметр к 0, функция игнорируетcTable
параметр и вместо этого копирует и использует таблицу цветов графического устройства с самой большой пиксельной глубиной среди всех графических устройств, граничные прямоугольники которых пересекают прямоугольник, который Вы указываете вboundsRect
параметр. Если Вы используете эту функцию на компьютере, поддерживающем только основной QuickDraw, можно указать толькоNIL
в этом параметре.aGDevice
Дескриптор к a
GDevice
структура, использующаяся только, когда Вы указываетеnoNewDevice
флаг вflags
параметр, когда функция присоединяет эту структуру к новому внеэкранному графическому миру. Если Вы устанавливаетеpixelFormat
параметр к 0, или если Вы не устанавливаетеnoNewDevice
флаг, функция игнорирует этот параметр, таким образом, необходимо установить его вNIL
. Если Вы устанавливаетеpixelFormat
параметр к 0, функция используетGDevice
структура для графического устройства с самой большой пиксельной глубиной среди всех графических устройств, граничные прямоугольники которых пересекают прямоугольник, который Вы указываете вboundsRect
параметр. Необходимо передатьNIL
в этом параметре, если компьютер поддерживает только основной QuickDraw. Обычно Ваше приложение никогда не должно создаватьGDevice
структуры для внеэкранных графических миров.flags
Константа (см. ниже), который идентифицирует опцию, доступную Вашему приложению. Если Вы не хотите использовать эту опцию, передайте 0 в этом параметре. В этом случае поведение по умолчанию состоит в том, чтобы создать внеэкранный графический мир, использующий существующее
GDevice
структура (если Вы передаете 0 в параметре глубины) или создает новоеGDevice
структура. Большинство констант, используемых в создании aGWorld
не важны для этой функции, поскольку ее цель состоит в том, чтобы обернуть aGWorld
вокруг существующего блока пикселей, а не определить и создать apixmap
. Посмотрите эти константы:baseAddr
Базовый адрес для пиксельных данных.
rowBytes
Общий размер пиксельных данных разделился на высоту пиксельной карты. Другими словами, число байтов в одной строке пикселей или число байтов между вертикально смежными пикселями.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция обертывает a
GWorld
вокруг существующей пиксельной карты. Обратите внимание на то, что это не копируетpixmap
. Последующий вызов кDisposeGWorld
не избавится от пиксельной карты; это только избавитсяGWorld
обертка. Это - ответственность вызывающей стороны избавиться от пиксельной карты.Можно использовать этот вызов для выделения внеэкранного графического мира с помощью специальной памяти (такой как на видеокарте). Если у Вас есть изображение в памяти, которые принадлежат чему-то еще (аппаратный экранный буфер, 3D карта, или другой формат файла или программа), можно использовать эту функцию, чтобы обернуть графический мир вокруг изображения и затем использовать запросы QuickTime к тому графическому миру, чтобы сжать его, масштабировать его, нарисовать к нему, и т.д. Если Ваш новый графический мир имеет планарный формат пикселя, необходимо использовать этот вызов вместо
QTNewGWorld
.Специальные замечания
Не разблокируйте пиксели выделенного графического мира. Если Ваши исходные пиксели от другого графического мира тогда, необходимо гарантировать, что заблокированы исходные пиксели.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTSetPixMapHandleGammaLevel QTSetPixMapHandleGammaLevel
(OS X v10.9)Устанавливает гамма уровень пиксельной карты.
Объявление
Objective C
OSErr QTSetPixMapHandleGammaLevel ( PixMapHandle pm, Fixed gammaLevel );
Параметры
pm
Дескриптор к a
PixMap
структура, имеющая aPixMapExtension
структура.gammaLevel
Новый гамма уровень.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция не преобразовывает содержание
PixMap
структура. Типичное использование должно было бы установить гамма уровень пиксельной карты прежде, чем сжать его так, чтобы кодек знал, должно ли это сделать дополнительное гамма исправление при сжатии.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Устанавливает требуемый гамма уровень пиксельной карты.
Объявление
Objective C
OSErr QTSetPixMapHandleRequestedGammaLevel ( PixMapHandle pm, Fixed requestedGammaLevel );
Параметры
pm
Дескриптор к a
PixMap
структура, имеющая aPixMapExtension
структура.requestedGammaLevel
Указанный гамма уровень или константа (см. ниже). Посмотрите эти константы:
kQTUsePlatformDefaultGammaLevel
kQTUseSourceGammaLevel
kQTCCIR601VideoGammaLevel
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция не преобразовывает содержание
PixMap
структура. Типичное использование должно было бы установить требуемый гамма уровень пиксельной карты прежде, чем распаковать так, чтобы кодек знал то, что гамма-коррекция необходима при распаковке вPixMap
структура. Получающийся гамма уровень может тогда быть найден путем вызоваQTGetPixMapHandleGammaLevel
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTSetPixMapHandleRowBytes QTSetPixMapHandleRowBytes
(OS X v10.9)Устанавливает значение rowBytes для пиксельной карты, к которой получает доступ дескриптор.
Объявление
Objective C
OSErr QTSetPixMapHandleRowBytes ( PixMapHandle pm, long rowBytes );
Параметры
pm
Дескриптор к a
PixMap
структура.rowBytes
rowBytes
значение, которое будет установлено.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTSetPixMapPtrGammaLevel QTSetPixMapPtrGammaLevel
(OS X v10.9)Устанавливает гамма уровень пиксельной карты.
Объявление
Objective C
OSErr QTSetPixMapPtrGammaLevel ( PixMapPtr pm, Fixed gammaLevel );
Параметры
pm
Указатель на a
PixMap
структура, имеющая aPixMapExtension
структура.gammaLevel
Новый гамма уровень.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция не преобразовывает содержание
PixMap
структура. Типичное использование должно было бы установить гамма уровень пиксельной карты прежде, чем сжать его так, чтобы кодек знал, должно ли это сделать дополнительное гамма исправление при сжатии.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Устанавливает требуемый гамма уровень пиксельной карты.
Объявление
Objective C
OSErr QTSetPixMapPtrRequestedGammaLevel ( PixMapPtr pm, Fixed requestedGammaLevel );
Параметры
pm
Указатель на a
PixMap
структура, имеющая aPixMapExtension
структура.requestedGammaLevel
Указанный гамма уровень или константа (см. ниже). Посмотрите эти константы:
kQTUsePlatformDefaultGammaLevel
kQTUseSourceGammaLevel
kQTCCIR601VideoGammaLevel
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта функция не преобразовывает содержание
PixMap
структура. Типичное использование должно было бы установить требуемый гамма уровень пиксельной карты прежде, чем распаковать так, чтобы кодек знал то, что гамма-коррекция необходима при распаковке вPixMap
структура. Получающийся гамма уровень может тогда быть найден путем вызоваQTGetPixMapPtrGammaLevel
.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTSetPixMapPtrRowBytes QTSetPixMapPtrRowBytes
(OS X v10.9)Устанавливает значение rowBytes для пиксельной карты, к которой получает доступ указатель.
Объявление
Objective C
OSErr QTSetPixMapPtrRowBytes ( PixMapPtr pm, long rowBytes );
Параметры
pm
Указатель на a
PixMap
структура.rowBytes
rowBytes
значение, которое будет установлено.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QTUpdateGWorld QTUpdateGWorld
(OS X v10.9)Изменяет пиксельную глубину, граничный прямоугольник или таблицу цветов для существующего внеэкранного графического мира с форматом пикселя не-Macintosh.
Объявление
Objective C
GWorldFlags QTUpdateGWorld ( GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags );
Параметры
offscreenGWorld
На вводе, указателе на существующий внеэкранный графический мир; после завершения, указателя на обновленный внеэкранный графический мир.
PixelFormat
Обновленный графический формат пикселя в мире; посмотрите
Pixel Formats
.boundsRect
Указатель на граничный прямоугольник и прямоугольник порта для обновленной внеэкранной пиксельной карты. Это становится граничным прямоугольником для
GDevice
структура, если эта функция создает тот. Если Вы указываете 0 вPixelFormat
параметр, функция интерпретирует границы в глобальных координатах, которые это использует для определения, какие экраны пересекают прямоугольник. Это тогда использует формат пикселя, таблицу цветов, иGDevice
структура с экрана с самой большой пиксельной глубиной из числа всех экранов, граничные прямоугольники которых пересекают этот прямоугольник. Если прямоугольник, который Вы указываете в этом параметре, отличается от, но имеет тот же размер как, предыдущий граничный прямоугольник, функция перестраивает пиксельное изображение на экран для оптимальной производительности дляCopyBits
. Как правило, Ваше приложение предоставляет этот параметр прямоугольник порта для экранного окна, в которое Ваше приложение скопирует пиксельное изображение с этого внеэкранного мира.cTable
Дескриптор к a
ColorTable
структура для обновленного графического мира. Если Вы передаетеNIL
в этом параметре функция использует таблицу цвета по умолчанию для формата пикселя, который Вы указываете вPixelFormat
параметр. Если Вы устанавливаетеPixelFormat
параметр к 0, функция игнорируетcTable
параметр и вместо этого копирует и использует таблицу цветов графического устройства с самой большой пиксельной глубиной среди всех графических устройств, граничные прямоугольники которых пересекают прямоугольник, который Вы указываете вboundsRect
параметр. Если таблица цветов, которую Вы указываете в этом параметре, отличается от предыдущей таблицы цветов, или если таблица цветов связалась сGDevice
структура, которую Вы указываете вaGDevice
параметр отличается, функция отображает пиксельные значения во внеэкранной пиксельной карте к новой таблице цветов. Если Вы используете эту функцию на компьютере, поддерживающем только основной QuickDraw, можно указать толькоNIL
в этом параметре.aGDevice
Дескриптор к a
GDevice
структура, использующаяся только, когда Вы указываетеnoNewDevice
флаг вflags
параметр, когда функция присоединяет эту структуру к новому внеэкранному графическому миру. Если Вы устанавливаетеPixelFormat
параметр к 0, или если Вы не устанавливаетеnoNewDevice
флаг, функция игнорирует этот параметр, таким образом, необходимо установить его вNIL
. Если Вы устанавливаетеPixelFormat
параметр к 0, функция используетGDevice
структура для графического устройства с самой большой пиксельной глубиной среди всех графических устройств, граничные прямоугольники которых пересекают прямоугольник, который Вы указываете вboundsRect
параметр. Необходимо передатьNIL
в этом параметре, если компьютер поддерживает только основной QuickDraw. Обычно Ваше приложение никогда не должно создаватьGDevice
структуры для внеэкранных графических миров.flags
Константы (см. ниже), которые идентифицируют опции, доступные Вашему приложению. Можно установить комбинацию этих флагов. Если Вы не хотите использовать какого-либо из них, передайте 0 в этом параметре. В этом случае поведение по умолчанию состоит в том, чтобы создать внеэкранный графический мир, где базовый адрес для внеэкранного пиксельного изображения unpurgeable, графический мир использует существующее
GDevice
структура (если Вы передаете 0 в параметре глубины) или создает новоеGDevice
структура, это использует память в Вашей «куче» приложения, и это позволяет графическим акселераторам кэшировать внеэкранное пиксельное изображение. Посмотрите эти константы:Возвращаемое значение
Константа (см. ниже), который сообщает относительно работы этой функции.
Обсуждение
Если Диспетчер памяти произвел чистку базового адреса для внеэкранного пиксельного изображения, эта функция перераспределяет память, но потеряно пиксельное изображение. Необходимо восстановить его.
Специальные замечания
Эта функция может переместить или произвести чистку блоков памяти в «куче» приложения. Во время прерывания Ваше приложение не должно вызывать эту функцию.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
QuadToQuadMatrix QuadToQuadMatrix
(OS X v10.9)Определяет матрицу, отображающуюся между четырьмя точками ввода и четырьмя выходными точками.
Объявление
Objective C
OSErr QuadToQuadMatrix ( const Fixed *source, const Fixed *dest, MatrixRecord *map );
Параметры
source
Указатель на четыре ввода
FixedPoint
точки.dest
Указатель на четыре вывода
FixedPoint
точки.map
Указатель на a
MatrixRecord
структура, отображающая значение, передала вsource
к значению, переданному вdest
.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Недокументированный
Объявление
Objective C
OSErr ReplaceDSequenceImageDescription ( ImageSequence seqID, ImageDescriptionHandle newDesc );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.newDesc
Дескриптор к
ImageDescription
структура.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetCSequenceFrameNumber SetCSequenceFrameNumber
(OS X v10.9)Сообщает компрессору в использовании для указанной последовательности, что кадры сжимаются не в порядке.
Объявление
Objective C
OSErr SetCSequenceFrameNumber ( ImageSequence seqID, long frameNumber );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.frameNumber
Число кадра кадра, сжимающегося из последовательности.
Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Обсуждение
Эта информация необходима только для компрессоров, которые чувствительны к последовательности.
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
SetDSequenceFlags SetDSequenceFlags
(OS X v10.9)Флаги загрузки данных наборов.
Объявление
Objective C
OSErr SetDSequenceFlags ( ImageSequence seqID, long flags, long flagsMask );
Параметры
seqID
Уникальный идентификатор последовательности, присвоенный
CompressSequenceBegin
илиDecompressSequenceBegin
.flags
Флаги (см. ниже) для загрузки данных. Посмотрите эти константы:
codecDSequenceSingleField
flagsMask
Используйте это поле для сохранения состояния любых флагов, которые Вы не хотите изменять. Если флаг в этом поле, и не установлен в, (см. ниже) установлен
flags
параметр, это не будет изменено от его текущей установки.Возвращаемое значение
Посмотрите
Error Codes
. ВозвратыnoErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Устанавливает направление дисплея для последовательности распаковки.
Объявление
Objective C
OSErr SetDSequenceNonScheduledDisplayDirection ( ImageSequence sequence, Fixed rate );
Параметры
sequence
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.rate
Направление дисплея, которое будет установлено. Отрицательные величины представляют обратный дисплей, и положительные значения представляют прямой дисплей.
Возвращаемое значение
Код ошибки. Возвраты
noErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Устанавливает время дисплея для последовательности распаковки.
Объявление
Objective C
OSErr SetDSequenceNonScheduledDisplayTime ( ImageSequence sequence, TimeValue64 displayTime, TimeScale displayTimeScale, UInt32 flags );
Параметры
sequence
Содержит уникальный идентификатор последовательности, возвращенный
DecompressSequenceBegin
функция.displayTime
Время дисплея, которое будет установлено.
displayTimeScale
Масштаб времени дисплея, который будет установлен.
flags
Не используемый; набор к 0.
Возвращаемое значение
Код ошибки. Возвраты
noErr
если нет никакой ошибки.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
UnsignedFixMulDiv UnsignedFixMulDiv
(OS X v10.9)Выполняет умножение и подразделения на числах фиксированной точки без знака.
Объявление
Objective C
Fixed UnsignedFixMulDiv ( Fixed src, Fixed mul, Fixed divisor );
Параметры
src
Значение, которое будет умножено или разделено.
mul
Множитель, который будет применен к значению в
src
параметр. Передайте 0x00010000, если Вы не хотите умножаться.divisor
Делитель, который будет применен к значению в
src
параметр. Передайте 0x00010000, если Вы не хотите делиться.Возвращаемое значение
Число фиксированной точки, которое является значением
src
параметр, умноженный на значение вmul
параметр и разделенный на значение вdivisor
параметр. Функция выполняет обе операции перед возвратом.Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
Не доступный 64-разрядным приложениям.
-
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef Component CodecComponent;
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
Содержит список структур CodecNameSpec.
Объявление
Objective C
struct CodecNameSpecList { short count; CodecNameSpec list[1]; };
Поля
count
Указывает число структур имени компрессора, содержавшихся в следующем массиве списка.
list
Содержит массив структур имени компрессора. Каждая структура соответствует одному компоненту компрессора, или введите, который встречает критерии выбора, которые указывает Ваше приложение, когда это вызывает
GetCodecNameList
.Обсуждение
См. также
DisposeCodecNameList
иGetCodecNameList
. -
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef CodecNameSpecList * CodecNameSpecListPtr;
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Swift
typealias ConstStrFileNameParam = ConstStr63Param
Objective C
typedef ConstStr255Param ConstStrFileNameParam;
Оператор импорта
Objective C
#include <MacTypes.h>;
Swift
import Darwin
Доступность
Доступный в OS X v10.0 и позже.
-
Передает информацию к компрессорам, которые могут ограничить сжатые данные к определенной скорости передачи данных.
Объявление
Поля
dataRate
Указывает байты в секунду, к которым должна быть ограничена скорость передачи данных.
dataOverrun
Указывает текущее число байтов выше или ниже желаемой скорости передачи данных. Значение 0 средних значений, что скорость передачи данных встречается точно. Если Ваше приложение не знает потери данных, оно должно установить это поле в 0.
frameDuration
Указывает продолжительность текущего кадра в миллисекундах.
keyFrameRate
Указывает частоту ключевых кадров. Эта частота обычно идентична уровню ключевого кадра, переданному
CompressSequenceBegin
.minSpatialQuality
Константа (см. ниже), который указывает минимальное пространственное качество компрессор, должна использовать для встречи требуемой скорости передачи данных. Посмотрите эти константы:
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
minTemporalQuality
Константа (см. ниже), который указывает минимальное временное качество компрессор, должна использовать для встречи требуемой скорости передачи данных.
Обсуждение
CodecQ
тип данных определяет поле, идентифицирующее качественные характеристики данного изображения или последовательности. Обратите внимание на то, что отдельные компоненты могут не реализовать все уровни качества, показанные здесь. Кроме того, компоненты могут реализовать другие уровни качества в диапазоне отcodecMinQuality
кcodecMaxQuality
. Относительное качество должно масштабироваться в определенном диапазоне значений. Значения вышеcodecLosslessQuality
резервируются для использования отдельными компонентами.См. также
GetCSequenceDataRateParams
иSetCSequenceDataRateParams
. -
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef DataRateParams * DataRateParamsPtr;
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef Component DecompressorComponent;
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
Определяет размер и расположение прямоугольника в числах фиксированной точки.
Объявление
Objective C
struct FixedRect { Fixed left; Fixed top; Fixed right; Fixed bottom; };
Поля
left
X координата верхнего левого угла прямоугольника.
top
Y координата верхнего левого угла прямоугольника.
right
X координата нижнего правого угла прямоугольника.
bottom
Y координата нижнего правого угла прямоугольника.
Обсуждение
См. также
TransformFixedRect
. -
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef long Fract;
Оператор импорта
Objective C
#include <IOMacOSTypes.h>;
Доступность
Доступный в OS X v10.0 и позже.
-
Определяет формат пикселя.
Объявление
Objective C
struct ICMPixelFormatInfo { long size; unsigned long formatFlags; short bitsPerPixel[14]; };
Поля
size
Размер этой структуры. Это количество не обязательно равно
sizeof(ICMPixelFormatInfo)
потому что это зависит от того, является ли формат пикселя коротким или планарным, и, если планарный, число компонентов (см. ниже).formatFlags
Константа (см. ниже), указание формата пикселя. Посмотрите эти константы:
kICMPixelFormatIsPlanarMask
kICMPixelFormatIsIndexed
kICMPixelFormatIsSupportedByQD
bitsPerPixel
Массив, определяющий число битов для каждого компонента. Элемент
bitsPerPixel[0]
содержит число битов для первого компонента,bitsPerPixel[1]
число битов для второго компонента, и т.д. Значение этого параметра зависит от флага формата (см. ниже).Обсуждение
Можно представлять формат, имеющий от 1 до 14 дискретных компонентов с помощью этой структуры данных. Для ARGB существует 4 компонента. RGB без альфа-канала имеет 3 компонента. Количество компонента 15 резервируется для будущего расширения.
См. также
ICMGetPixelFormatInfo
иICMSetPixelFormatInfo
. -
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef ICMPixelFormatInfo * ICMPixelFormatInfoPtr;
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef long ImageFieldSequence;
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef long ImageSequenceDataSource;
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Objective C
typedef long ImageTranscodeSequence;
Оператор импорта
Objective C
@import QuickTime;
Доступность
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
Указывает разрешения при создании изображений.
Объявление
Objective C
struct OpenCPicParams { Rect srcRect; Fixed hRes; Fixed vRes; short version; short reserved1; long reserved2; };
Поля
srcRect
Оптимальный ограничительный прямоугольник для разрешения, обозначенного
hRes
иvRes
поля. Вывести на экран изображение в разрешении кроме указанного вhRes
иvRes
поля, Ваше приложение должно вычислить надлежащий целевой прямоугольник путем масштабирования ширины изображения и высоты целевым разрешением, разделенным на исходное разрешение.hRes
Лучшее горизонтальное разрешение для изображения. Значение 0x0048000 указывает горизонтальное разрешение 72 точек на дюйм.
vRes
Лучшее вертикальное разрешение для изображения. Значение 0x0048000 указывает вертикальное разрешение 72 точек на дюйм.
version
Всегда устанавливайте это поле в-2.
reserved1
Зарезервированный; набор к 0.
reserved2
Зарезервированный; набор к 0.
Обсуждение
См. также
GetPictureFileHeader
. -
Структура заголовка очереди Windows.
Объявление
Objective C
struct QHdr { short qFlags; short pad; long MutexID; QElemPtr qHead; QElemPtr qTail; };
Поля
qFlags
Недокументированный
pad
Неиспользованный.
MutexID
Недокументированный
qHead
Недокументированный
qTail
Недокументированный
Обсуждение
См. также
CDSequenceSetSourceDataQueue
,Dequeue
,Enqueue
,InitializeQHdr
, иTerminateQHdr
. -
Представляет тип, используемый Сжатием и Распаковкой API.
Объявление
Swift
typealias QHdrPtr = UnsafeMutablePointer<QHdr>
Objective C
typedef QHdr * QHdrPtr;
Оператор импорта
Objective C
@import CoreServices;
Swift
import CoreServices
Доступность
Доступный в OS X v10.0 и позже.
-
Константы передали StdPix.
Объявление
Objective C
enum { callStdBits = 1, callOldBits = 2, noDefaultOpcodes = 4 };
-
Константы, представляющие флаги <codeVoice> DSequence </codeVoice>.
Объявление
Objective C
enum { codecDSequenceDisableOverlaySurface = (1L << 5), codecDSequenceSingleField = (1L << 6), codecDSequenceBidirectionalPrediction = (1L << 7), codecDSequenceFlushInsteadOfDirtying = (1L << 8), codecDSequenceEnableSubPixelPositioning = (1L << 9), codecDSequenceDeinterlaceFields = (1L << 10) };
-
Константы передали FCompressImage.
Объявление
Objective C
enum { codecFlagUseImageBuffer = (1L << 0), /* decompress */ codecFlagUseScreenBuffer = (1L << 1), /* decompress */ codecFlagUpdatePrevious = (1L << 2), /* compress */ codecFlagNoScreenUpdate = (1L << 3), /* decompress */ codecFlagWasCompressed = (1L << 4), /* compress */ codecFlagDontOffscreen = (1L << 5), /* decompress */ codecFlagUpdatePreviousComp = (1L << 6), /* compress */ codecFlagForceKeyFrame = (1L << 7), /* compress */ codecFlagOnlyScreenUpdate = (1L << 8), /* decompress */ codecFlagLiveGrab = (1L << 9), /* compress */ codecFlagDiffFrame = (1L << 9), /* decompress */ codecFlagDontUseNewImageBuffer = (1L << 10), /* decompress */ codecFlagInterlaceUpdate = (1L << 11), /* decompress */ codecFlagCatchUpDiff = (1L << 12), /* decompress */ codecFlagSupportDisable = (1L << 13), /* decompress */ codecFlagReenable = (1L << 14) /* decompress */ };
Константы
-
codecFlagUpdatePrevious
codecFlagUpdatePrevious
Средства управления, обновляет ли Ваш компрессор предыдущее изображение во время сжатия. Этот флаг только используется со временно сжимающимися последовательностями. Если этот флаг установлен в 1, Ваш компрессор должен скопировать текущий кадр в предыдущий кадровый буфер в конце последовательности сжатия кадра. Используйте исходное изображение.
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
codecFlagWasCompressed
codecFlagWasCompressed
Указывает к Вашему компрессору, что изображение, которое будет сжато, было сжато прежде. Эта информация может быть полезна для компрессоров, которые могут компенсировать качество изображения, которое может иначе следовать из повторного сжатия и распаковки того же изображения. Этот флаг установлен в 1 указать, что было ранее сжато изображение. Если изображение не было ранее сжато, этот флаг установлен в 0.
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
codecFlagUpdatePreviousComp
codecFlagUpdatePreviousComp
Средства управления, обновляет ли Ваш компрессор предыдущий буфер изображения со сжатым изображением. Этот флаг только используется с временным сжатием. Если этот флаг установлен в 1, Ваш компрессор должен обновить предыдущий кадровый буфер в конце последовательности сжатия кадра, позволив Вашему компрессору выполнить кадр differencing против результатов сжатия. Используйте изображение, следующее из работы сжатия. Если этот флаг установлен в 0, Ваш компрессор не должен изменять предыдущий кадровый буфер во время сжатия.
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
codecFlagLiveGrab
codecFlagLiveGrab
Указывает ли текущие результаты последовательности захвата живого видео. При работе с живым видео компрессор должен работать как можно быстрее и отключить любую дополнительную обработку, такую как компенсация за ранее сжатые данные. Когда Вы сжимаетесь от живого источника видеосигнала, этот флаг установлен в 1.
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
codecFlagDiffFrame
codecFlagDiffFrame
Распаковка.
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
codecFlagSupportDisable
codecFlagSupportDisable
Распаковка.
Доступный в OS X v10.0 и позже.
Не доступный 64-разрядным приложениям.
-
-
Константы, представляющие цветовые режимы.
Объявление
Objective C
enum { defaultDither = 0, forceDither = 1, suppressDither = 2, useColorMatching = 4 }; enum { graphicsModeStraightAlpha = 256, graphicsModePreWhiteAlpha = 257, graphicsModePreBlackAlpha = 258, graphicsModeComposition = 259, graphicsModeStraightAlphaBlend = 260, graphicsModePreMulColorAlpha = 261, graphicsModePerComponentAlpha = 272 }; enum { kQTTIFFUserDataPrefix = 0x74690000 , /* Added to some tag values in TIFF IFDs to generate user data codes. (0x7469 is 'ti'.) */ /* For example, YCbCrPositioning is tag x0213, so its user data code is 0x74690213. */ kQTTIFFExifUserDataPrefix = 0x65780000 , /* Added to tag values in Exif IFDs to generate user data codes. (0x6578 is 'ex'.) */ /* For example, DateTimeOriginal is tag x9003, so its user data code is 0x65789003. */ kQTTIFFExifGPSUserDataPrefix = 0x67700000 , /* Added to tag values in Exif GPS IFDs to generate user data codes. (0x6770 is 'gp'.) */ /* For example, GPSAltitude is tag x0006, so its user data code is 0x6770006. */ kQTAlphaMode = 'almo', /* UInt32; eg, graphicsModeStraightAlpha or graphicsModePreBlackAlpha */ kQTAlphaModePreMulColor = 'almp', /* RGBColor; used if kQTAlphaMode is graphicsModePreMulColorAlpha */ kUserDataIPTC = 'iptc' };
Константы
-
kQTTIFFUserDataPrefix
kQTTIFFUserDataPrefix
Добавленный к некоторому тегу оценивает в TIFF IFDs для генерации пользовательских кодов данных. (0x7469
'ti'
.).Доступный в OS X v10.1 и позже.
Не доступный 64-разрядным приложениям.
-
kQTTIFFExifUserDataPrefix
kQTTIFFExifUserDataPrefix
Добавленный к тегу оценивает в
Exif
IFDs для генерации пользовательских кодов данных. (0x6578'ex'
.).Доступный в OS X v10.1 и позже.
Не доступный 64-разрядным приложениям.
-
kQTTIFFExifGPSUserDataPrefix
kQTTIFFExifGPSUserDataPrefix
Добавленный к тегу оценивает в
Exif
GPS IFDs для генерации пользовательских кодов данных. (0x6770'gp'
.).Доступный в OS X v10.1 и позже.
Не доступный 64-разрядным приложениям.
-
kQTAlphaMode
kQTAlphaMode
UInt32; например,
graphicsModeStraightAlpha
илиgraphicsModePreBlackAlpha
.Доступный в OS X v10.1 и позже.
Не доступный 64-разрядным приложениям.
-
kQTAlphaModePreMulColor
kQTAlphaModePreMulColor
RGBColor
; используемый, еслиkQTAlphaMode
graphicsModePreMulColorAlpha
.Доступный в OS X v10.1 и позже.
Не доступный 64-разрядным приложениям.
-
-
Константы передали GetGraphicsImporterForFileWithFlags.
Объявление
Objective C
enum { kDontUseValidateToFindGraphicsImporter = 1L << 0 };
-
Константы передали QTSetPixMapPtrRequestedGammaLevel.
Объявление
Objective C
enum { kQTUsePlatformDefaultGammaLevel = 0, /* When decompressing into this PixMap, gamma-correct to the platform's standard gamma. */ kQTUseSourceGammaLevel = -1L , /* When decompressing into this PixMap, don't perform gamma-correction. */ kQTCCIR601VideoGammaLevel = 0x00023333 /* 2.2, standard television video gamma.*/ };
Константы