173
174
(void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod);
174
175
quantum_info=AcquireQuantumInfo(image_info,canvas_image);
176
if (quantum_info == (QuantumInfo *) NULL)
177
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
175
178
pixels=GetQuantumPixels(quantum_info);
176
179
quantum_type=RGBQuantum;
177
180
if (LocaleCompare(image_info->magick,"YCbCrA") == 0)
227
227
for (y=0; y < (long) image->extract_info.height; y++)
229
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
229
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
230
231
if (q == (PixelPacket *) NULL)
232
length=ImportQuantumPixels(canvas_image,quantum_info,quantum_type,
234
if (SyncImagePixels(canvas_image) == MagickFalse)
233
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
234
quantum_info,quantum_type,pixels,exception);
235
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
236
237
if (((y-image->extract_info.y) >= 0) &&
237
238
((y-image->extract_info.y) < (long) image->rows))
239
p=AcquireImagePixels(canvas_image,canvas_image->extract_info.x,0,
240
p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,
240
241
canvas_image->columns,1,exception);
241
q=SetImagePixels(image,0,y-image->extract_info.y,image->columns,
242
q=QueueAuthenticPixels(image,0,y-image->extract_info.y,
243
image->columns,1,exception);
243
244
if ((p == (const PixelPacket *) NULL) ||
244
245
(q == (PixelPacket *) NULL))
294
295
for (i=0; i < (image->matte != MagickFalse ? 4 : 3); i++)
296
297
quantum_type=quantum_types[i];
297
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
298
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
298
300
if (q == (PixelPacket *) NULL)
300
length=ImportQuantumPixels(canvas_image,quantum_info,quantum_type,
302
if (SyncImagePixels(canvas_image) == MagickFalse)
302
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
303
quantum_info,quantum_type,pixels,exception);
304
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
304
306
if (((y-image->extract_info.y) >= 0) &&
305
307
((y-image->extract_info.y) < (long) image->rows))
307
p=AcquireImagePixels(canvas_image,canvas_image->extract_info.x,
309
p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,
308
310
0,canvas_image->columns,1,exception);
309
q=GetImagePixels(image,0,y-image->extract_info.y,image->columns,
311
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
312
image->columns,1,exception);
311
313
if ((p == (const PixelPacket *) NULL) ||
312
314
(q == (PixelPacket *) NULL))
355
357
for (y=0; y < (long) image->extract_info.height; y++)
357
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
359
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
358
361
if (q == (PixelPacket *) NULL)
360
length=ImportQuantumPixels(canvas_image,quantum_info,RedQuantum,
362
if (SyncImagePixels(canvas_image) == MagickFalse)
363
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
364
quantum_info,RedQuantum,pixels,exception);
365
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
364
367
if (((y-image->extract_info.y) >= 0) &&
365
368
((y-image->extract_info.y) < (long) image->rows))
367
p=AcquireImagePixels(canvas_image,canvas_image->extract_info.x,0,
370
p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,
368
371
canvas_image->columns,1,exception);
369
q=GetImagePixels(image,0,y-image->extract_info.y,image->columns,
372
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
373
image->columns,1,exception);
371
374
if ((p == (const PixelPacket *) NULL) ||
372
375
(q == (PixelPacket *) NULL))
393
396
for (y=0; y < (long) image->extract_info.height; y++)
395
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
398
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
396
400
if (q == (PixelPacket *) NULL)
398
length=ImportQuantumPixels(canvas_image,quantum_info,GreenQuantum,
400
if (SyncImagePixels(canvas_image) == MagickFalse)
402
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
403
quantum_info,GreenQuantum,pixels,exception);
404
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
402
406
if (((y-image->extract_info.y) >= 0) &&
403
407
((y-image->extract_info.y) < (long) image->rows))
405
p=AcquireImagePixels(canvas_image,canvas_image->extract_info.x,0,
409
p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,
406
410
canvas_image->columns,1,exception);
407
q=GetImagePixels(image,0,y-image->extract_info.y,image->columns,
411
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
412
image->columns,1,exception);
409
413
if ((p == (const PixelPacket *) NULL) ||
410
414
(q == (PixelPacket *) NULL))
431
435
for (y=0; y < (long) image->extract_info.height; y++)
433
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
437
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
434
439
if (q == (PixelPacket *) NULL)
436
length=ImportQuantumPixels(canvas_image,quantum_info,BlueQuantum,
438
if (SyncImagePixels(canvas_image) == MagickFalse)
441
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
442
quantum_info,BlueQuantum,pixels,exception);
443
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
440
445
if (((y-image->extract_info.y) >= 0) &&
441
446
((y-image->extract_info.y) < (long) image->rows))
443
p=AcquireImagePixels(canvas_image,canvas_image->extract_info.x,0,
448
p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,
444
449
canvas_image->columns,1,exception);
445
q=GetImagePixels(image,0,y-image->extract_info.y,image->columns,
450
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
451
image->columns,1,exception);
447
452
if ((p == (const PixelPacket *) NULL) ||
448
453
(q == (PixelPacket *) NULL))
471
476
for (y=0; y < (long) image->extract_info.height; y++)
473
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
478
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
474
480
if (q == (PixelPacket *) NULL)
476
length=ImportQuantumPixels(canvas_image,quantum_info,AlphaQuantum,
478
if (SyncImagePixels(canvas_image) == MagickFalse)
482
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
483
quantum_info,AlphaQuantum,pixels,exception);
484
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
480
486
if (((y-image->extract_info.y) >= 0) &&
481
487
((y-image->extract_info.y) < (long) image->rows))
483
p=AcquireImagePixels(canvas_image,
489
p=GetVirtualPixels(canvas_image,
484
490
canvas_image->extract_info.x,0,canvas_image->columns,1,
486
q=GetImagePixels(image,0,y-image->extract_info.y,
492
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
493
image->columns,1,exception);
488
494
if ((p == (const PixelPacket *) NULL) ||
489
495
(q == (PixelPacket *) NULL))
551
557
for (y=0; y < (long) image->extract_info.height; y++)
553
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
559
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
554
561
if (q == (PixelPacket *) NULL)
556
length=ImportQuantumPixels(canvas_image,quantum_info,RedQuantum,
558
if (SyncImagePixels(canvas_image) == MagickFalse)
563
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
564
quantum_info,RedQuantum,pixels,exception);
565
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
560
567
if (((y-image->extract_info.y) >= 0) &&
561
568
((y-image->extract_info.y) < (long) image->rows))
563
p=AcquireImagePixels(canvas_image,canvas_image->extract_info.x,0,
570
p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,
564
571
canvas_image->columns,1,exception);
565
q=GetImagePixels(image,0,y-image->extract_info.y,image->columns,
572
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
573
image->columns,1,exception);
567
574
if ((p == (const PixelPacket *) NULL) ||
568
575
(q == (PixelPacket *) NULL))
610
617
for (y=0; y < (long) image->extract_info.height; y++)
612
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
619
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
613
621
if (q == (PixelPacket *) NULL)
615
length=ImportQuantumPixels(canvas_image,quantum_info,GreenQuantum,
617
if (SyncImagePixels(canvas_image) == MagickFalse)
623
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
624
quantum_info,GreenQuantum,pixels,exception);
625
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
619
627
if (((y-image->extract_info.y) >= 0) &&
620
628
((y-image->extract_info.y) < (long) image->rows))
622
p=AcquireImagePixels(canvas_image,canvas_image->extract_info.x,0,
630
p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,
623
631
canvas_image->columns,1,exception);
624
q=GetImagePixels(image,0,y-image->extract_info.y,image->columns,
632
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
633
image->columns,1,exception);
626
634
if ((p == (const PixelPacket *) NULL) ||
627
635
(q == (PixelPacket *) NULL))
669
677
for (y=0; y < (long) image->extract_info.height; y++)
671
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
679
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
672
681
if (q == (PixelPacket *) NULL)
674
length=ImportQuantumPixels(canvas_image,quantum_info,BlueQuantum,
676
if (SyncImagePixels(canvas_image) == MagickFalse)
683
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
684
quantum_info,BlueQuantum,pixels,exception);
685
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
678
687
if (((y-image->extract_info.y) >= 0) &&
679
688
((y-image->extract_info.y) < (long) image->rows))
681
p=AcquireImagePixels(canvas_image,canvas_image->extract_info.x,0,
690
p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,
682
691
canvas_image->columns,1,exception);
683
q=GetImagePixels(image,0,y-image->extract_info.y,image->columns,
692
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
693
image->columns,1,exception);
685
694
if ((p == (const PixelPacket *) NULL) ||
686
695
(q == (PixelPacket *) NULL))
730
739
for (y=0; y < (long) image->extract_info.height; y++)
732
q=GetImagePixels(canvas_image,0,0,canvas_image->columns,1);
741
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
733
743
if (q == (PixelPacket *) NULL)
735
length=ImportQuantumPixels(canvas_image,quantum_info,BlueQuantum,
737
if (SyncImagePixels(canvas_image) == MagickFalse)
745
length=ImportQuantumPixels(canvas_image,(ViewInfo *) NULL,
746
quantum_info,BlueQuantum,pixels,exception);
747
if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)
739
749
if (((y-image->extract_info.y) >= 0) &&
740
750
((y-image->extract_info.y) < (long) image->rows))
742
p=AcquireImagePixels(canvas_image,
752
p=GetVirtualPixels(canvas_image,
743
753
canvas_image->extract_info.x,0,canvas_image->columns,1,
745
q=GetImagePixels(image,0,y-image->extract_info.y,
755
q=GetAuthenticPixels(image,0,y-image->extract_info.y,
756
image->columns,1,exception);
747
757
if ((p == (const PixelPacket *) NULL) ||
748
758
(q == (PixelPacket *) NULL))
973
983
(image->matte == MagickFalse))
974
984
(void) SetImageAlphaChannel(image,ResetAlphaChannel);
975
985
quantum_info=AcquireQuantumInfo(image_info,image);
986
if (quantum_info == (QuantumInfo *) NULL)
987
ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
976
988
pixels=GetQuantumPixels(quantum_info);
977
989
switch (image_info->interlace)
985
997
for (y=0; y < (long) image->rows; y++)
987
p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception);
999
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
988
1000
if (p == (const PixelPacket *) NULL)
990
length=ExportQuantumPixels(image,quantum_info,quantum_type,pixels);
1002
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1003
quantum_type,pixels,&image->exception);
991
1004
count=WriteBlob(image,length,pixels);
992
1005
if (count != (ssize_t) length)
1008
1021
for (y=0; y < (long) image->rows; y++)
1010
p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception);
1023
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
1011
1024
if (p == (const PixelPacket *) NULL)
1013
length=ExportQuantumPixels(image,quantum_info,RedQuantum,pixels);
1014
count=WriteBlob(image,length,pixels);
1015
if (count != (ssize_t) length)
1017
length=ExportQuantumPixels(image,quantum_info,GreenQuantum,pixels);
1018
count=WriteBlob(image,length,pixels);
1019
if (count != (ssize_t) length)
1021
length=ExportQuantumPixels(image,quantum_info,BlueQuantum,pixels);
1026
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1027
RedQuantum,pixels,&image->exception);
1028
count=WriteBlob(image,length,pixels);
1029
if (count != (ssize_t) length)
1031
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1032
GreenQuantum,pixels,&image->exception);
1033
count=WriteBlob(image,length,pixels);
1034
if (count != (ssize_t) length)
1036
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1037
BlueQuantum,pixels,&image->exception);
1022
1038
count=WriteBlob(image,length,pixels);
1023
1039
if (count != (ssize_t) length)
1025
1041
if (quantum_type == RGBAQuantum)
1027
length=ExportQuantumPixels(image,quantum_info,AlphaQuantum,
1043
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,
1044
quantum_info,AlphaQuantum,pixels,&image->exception);
1029
1045
count=WriteBlob(image,length,pixels);
1030
1046
if (count != (ssize_t) length)
1047
1063
for (y=0; y < (long) image->rows; y++)
1049
p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception);
1065
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
1050
1066
if (p == (const PixelPacket *) NULL)
1052
length=ExportQuantumPixels(image,quantum_info,RedQuantum,pixels);
1068
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1069
RedQuantum,pixels,&image->exception);
1053
1070
count=WriteBlob(image,length,pixels);
1054
1071
if (count != (ssize_t) length)
1063
1080
for (y=0; y < (long) image->rows; y++)
1065
p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception);
1082
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
1066
1083
if (p == (const PixelPacket *) NULL)
1068
length=ExportQuantumPixels(image,quantum_info,GreenQuantum,pixels);
1085
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1086
GreenQuantum,pixels,&image->exception);
1069
1087
count=WriteBlob(image,length,pixels);
1070
1088
if (count != (ssize_t) length)
1079
1097
for (y=0; y < (long) image->rows; y++)
1081
p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception);
1099
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
1082
1100
if (p == (const PixelPacket *) NULL)
1084
length=ExportQuantumPixels(image,quantum_info,BlueQuantum,pixels);
1102
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1103
BlueQuantum,pixels,&image->exception);
1085
1104
count=WriteBlob(image,length,pixels);
1086
1105
if (count != (ssize_t) length)
1097
1116
for (y=0; y < (long) image->rows; y++)
1099
p=AcquireImagePixels(image,0,y,image->columns,1,
1118
p=GetVirtualPixels(image,0,y,image->columns,1,
1100
1119
&image->exception);
1101
1120
if (p == (const PixelPacket *) NULL)
1103
length=ExportQuantumPixels(image,quantum_info,AlphaQuantum,
1122
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,
1123
quantum_info,AlphaQuantum,pixels,&image->exception);
1105
1124
count=WriteBlob(image,length,pixels);
1106
1125
if (count != (ssize_t) length)
1130
1149
return(status);
1131
1150
for (y=0; y < (long) image->rows; y++)
1133
p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception);
1152
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
1134
1153
if (p == (const PixelPacket *) NULL)
1136
length=ExportQuantumPixels(image,quantum_info,RedQuantum,pixels);
1155
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1156
RedQuantum,pixels,&image->exception);
1137
1157
count=WriteBlob(image,length,pixels);
1138
1158
if (count != (ssize_t) length)
1152
1172
return(status);
1153
1173
for (y=0; y < (long) image->rows; y++)
1155
p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception);
1175
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
1156
1176
if (p == (const PixelPacket *) NULL)
1158
length=ExportQuantumPixels(image,quantum_info,GreenQuantum,pixels);
1178
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1179
GreenQuantum,pixels,&image->exception);
1159
1180
count=WriteBlob(image,length,pixels);
1160
1181
if (count != (ssize_t) length)
1174
1195
return(status);
1175
1196
for (y=0; y < (long) image->rows; y++)
1177
p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception);
1198
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
1178
1199
if (p == (const PixelPacket *) NULL)
1180
length=ExportQuantumPixels(image,quantum_info,BlueQuantum,pixels);
1201
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,quantum_info,
1202
BlueQuantum,pixels,&image->exception);
1181
1203
count=WriteBlob(image,length,pixels);
1182
1204
if (count != (ssize_t) length)
1198
1220
return(status);
1199
1221
for (y=0; y < (long) image->rows; y++)
1201
p=AcquireImagePixels(image,0,y,image->columns,1,
1223
p=GetVirtualPixels(image,0,y,image->columns,1,
1202
1224
&image->exception);
1203
1225
if (p == (const PixelPacket *) NULL)
1205
length=ExportQuantumPixels(image,quantum_info,AlphaQuantum,
1227
length=ExportQuantumPixels(image,(const ViewInfo *) NULL,
1228
quantum_info,AlphaQuantum,pixels,&image->exception);
1207
1229
count=WriteBlob(image,length,pixels);
1208
1230
if (count != (ssize_t) length)