Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
ВнизEAccessViolation Найти похожие ветки
← →
San1 (2007-11-22 09:39) [0]Подскажите пожалуйста, почему при обработке некоторых картинок возникает исключительная ситуация EAccessViolation with message "Access violation at address 004053AC in module project.exe"
type
Point_BitMap=record
x,y:Currency;
end;
var
Massiv_of_PointBitMap:array of Point_BitMap;
implementation
.
.
...
...Начало моей процедуры -
Rep:=0;
S:=Image.Width*Image.Height;
SetLength(Massiv_of_PointBitMap,S);
for k:=0 to canv.Height-1 do begin
for z:=0 to canv.Width-1 do begin
if canv.Canvas.Pixels[z,k]=clBlue then
begin
Rep:=Rep+1;
Massiv_of_PointBitMap[Rep].x:=(z/20);
Massiv_of_PointBitMap[Rep].y:=(k/20);
end;
end;
end;
dz:=0;
while dz>=zed*(-1) do begin
dz:=dz-0.05;
for k:=1 to Rep do begin
writeln(f,FormatFloat("#.###",Massiv_of_PointBitMap[k].x)," ",FormatFloat("#.###",Massiv_of_PointBitMap[k].y)," ",FormatFloat("#.##",dz));
end;
end;
Massiv_of_PointBitMap:=nil;
← →
Сергей М. © (2007-11-22 09:44) [1]
> почему при обработке некоторых картинок возникает исключительная
> ситуация
Видимо на этих картинах порнуха)
> S:=Image.Width*Image.Height;
Сам-то ты понял, что в этой строчке сделал ?
← →
San1 (2007-11-22 09:50) [2]>> S:=Image.Width*Image.Height;
>Сам-то ты понял, что в этой строчке сделал ?
Здесь задаюсь длиной массива с запасом, поскольку крайняя ситуация это когда все пикселы канвы цвета clBlue.
← →
Сергей М. © (2007-11-22 09:55) [3]
> задаюсь длиной массива с запасом
Причем здесь "запас" ?)
Что такое Image ?
← →
ЮЮ © (2007-11-22 09:56) [4]> Здесь задаюсь длиной массива с запасом
Да, но цикл то по canv.Height-1 и canv.Width. Их тогда и используй при определении размера массива. Или циклы организуй по Image.Width и Image.Height
← →
San1 (2007-11-22 10:03) [5]Согласен, глупая ошибка :.)
← →
San1 (2007-11-22 10:04) [6]Спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c