» About     » Archive     » Submit     » Authors     » Search     » Random     » Specials     » Statistics     » Forum     » Facebook     » RSS Feed     Updates Daily

No. 3864: GarMax and MiniField

First | Previous | 2019-12-17 | Next | Latest

GarMax and MiniField

First | Previous | 2019-12-17 | Next | Latest

Permanent URL: https://mezzacotta.net/garfield/?comic=3864

Strip by: Destructible Watermelon

{some dreamlike faded blobby Garfield strips, and some sharper overtraced Garfield strips}

The author writes:

You guys like this kind of stuff right?

So, to make this submission, I used Python, with the PIL package.

I used two strips for each part, and between the strips, for each position, whichever pixel in that position in both images had a higher sum of the colour channels was placed in the GarMax image, while the other was placed in the MiniField image. This sort of shows an amount of similarity. It's probably fair to say that if you can still mostly figure out the strip, it's probably a mega-reuse. We can see that the original "Spot The Difference With Garfield" showed the most egregious example. However, it doesn't actually measure reuse, or even similarity really, in more general situations. it's just kind of weird he used the exact same execution each time, with basically the same character positions.

I changed some of the strips' heights a bit, and used SRoMG #889 for the flip of one of the Pooky strips. The heights aren't all the same, if you were hoping to extract the individual GarMax and MiniFields.

I mostly used very similar strips, but included a combination of the infamous pudding pop strip and the blender strip, for reference.

Here is the program I used:

from PIL import Image
zip1 = Image.open("/Users/***/Downloads/whatev1.gif").convert("RGB")
zip2 = Image.open("/Users/***/Downloads/whatev2.gif").convert("RGB")
img = Image.new("RGB",(zip1.width,zip1.height*2))
for y in range(zip1.height):
    for x in range(zip1.width):
        pix1 = zip1.getpixel((x,y))
        pix2 = zip2.getpixel((x,y))
        img.putpixel((x,y),max(pix1,pix2, key=sum))
        img.putpixel((x,y+zip1.height),min(pix2, pix1, key=sum))

I also used a program to join my outputs to submit:

from PIL import Image
images = []
height_offsets = [0]
for i in input().split():
img = Image.new("RGB", (600,height_offsets[-1]))
for i in range(len(images)):
    for x in range(images[i].width):
        for y in range(images[i].height):
            img.putpixel((x, y+height_offsets[i]),images[i].getpixel((x,y)))

Original strips: 1987-07-21, 1995-03-11, 1996-02-13, 2001-11-28, 2001-12-03, 2002-12-07, 2004-12-06, 2008-04-26, 2009-05-23, 2009-11-09, 2010-06-07, 2011-07-25, 2013-06-28, 2015-05-06, 2015-10-07, 2016-06-03.