183 |
|
end; |
184 |
|
const |
185 |
|
PartMatch: array[0..8] of Byte = (0, 3, 6, 1, 4, 7, 2, 5, 8); |
186 |
< |
stretch_x: Integer = 50; |
186 |
> |
stretch_x: Integer = 1; |
187 |
|
stretch_y: Integer = 1; |
188 |
|
var |
189 |
|
x, y: Word; |
227 |
|
row := i mod 3; |
228 |
|
if (p2[i].X > 0) or (p2[i].Y > 0) then |
229 |
|
begin |
230 |
< |
parts[part].x_txmp := p1[i].X - 1; |
231 |
< |
parts[part].y_txmp := p1[i].Y - 1; |
230 |
> |
parts[part].x_txmp := p1[i].X;// - 1; |
231 |
> |
parts[part].y_txmp := p1[i].Y;// - 1; |
232 |
|
parts[part].x_pspc := 0; |
233 |
|
if col > 0 then |
234 |
|
for x := 0 to col - 1 do |
237 |
|
if row > 0 then |
238 |
|
for y := 0 to row - 1 do |
239 |
|
Inc(parts[part].y_pspc, rows[y]); |
240 |
< |
parts[part].w := p2[i].X - p1[i].X + 1; |
241 |
< |
parts[part].h := p2[i].Y - p1[i].Y + 1; |
240 |
> |
parts[part].w := Max(p2[i].X - p1[i].X, 1);// + 1; |
241 |
> |
parts[part].h := Max(p2[i].Y - p1[i].Y, 1);// + 1; |
242 |
|
parts[part].used := True; |
243 |
|
cols[col] := parts[part].w; |
244 |
|
rows[row] := parts[part].h; |
278 |
|
for row := 0 to 2 do |
279 |
|
begin |
280 |
|
part := row*3 + col; |
281 |
< |
if (row = 1) and (col = 1) then |
282 |
< |
StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h, |
283 |
< |
FImages[0], x, y, parts[part].w * stretch_x, parts[part].h * stretch_y, rfNearest) |
284 |
< |
else |
285 |
< |
if (row = 1) then |
286 |
< |
StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h, |
287 |
< |
FImages[0], x, y, parts[part].w, parts[part].h * stretch_y, rfNearest) |
288 |
< |
else |
281 |
> |
if parts[part].used then |
282 |
> |
begin |
283 |
> |
if (row = 1) and (col = 1) then |
284 |
> |
StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h, |
285 |
> |
FImages[0], x, y, parts[part].w * stretch_x, parts[part].h * stretch_y, rfNearest) |
286 |
> |
else |
287 |
> |
if (row = 1) then |
288 |
> |
StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h, |
289 |
> |
FImages[0], x, y, parts[part].w, parts[part].h * stretch_y, rfNearest) |
290 |
> |
else |
291 |
> |
if (col = 1) then |
292 |
> |
StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h, |
293 |
> |
FImages[0], x, y, parts[part].w * stretch_x, parts[part].h, rfNearest) |
294 |
> |
else |
295 |
> |
CopyRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h, |
296 |
> |
FImages[0], x, y ); |
297 |
> |
if row = 1 then |
298 |
> |
y := y + parts[part].h * stretch_y |
299 |
> |
else |
300 |
> |
y := y + parts[part].h; |
301 |
> |
end; |
302 |
> |
end; |
303 |
> |
if cols[col] > 0 then |
304 |
> |
begin |
305 |
|
if (col = 1) then |
306 |
< |
StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h, |
291 |
< |
FImages[0], x, y, parts[part].w * stretch_x, parts[part].h, rfNearest) |
292 |
< |
else |
293 |
< |
CopyRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h, |
294 |
< |
FImages[0], x, y ); |
295 |
< |
if row = 1 then |
296 |
< |
y := y + parts[part].h * stretch_y |
306 |
> |
x := x + parts[part].w * stretch_x |
307 |
|
else |
308 |
< |
y := y + parts[part].h; |
308 |
> |
x := x + parts[part].w; |
309 |
|
end; |
300 |
– |
if (part mod 3) = 1 then |
301 |
– |
x := x + parts[part].w * stretch_x |
302 |
– |
else |
303 |
– |
x := x + parts[part].w; |
310 |
|
end; |
311 |
|
|
312 |
|
FreeImage(pspcimage); |