Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Woohoo! Congrats TheLastMillenial. I know you've run through a few obstacles, and I'm super excited that you have gotten this far and released a beta. Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy
Small update, but I added a Cesium icon and a description! I've also updated the example image, with the wrong image... but oh well, the one I accidentally uploaded doesn't look too shabby! I'll make a note to change it to the correct image next time! Here's the new version.
I finally decided to buckle down and fix my C# code, and I did manage to salvage the code so at least it works for me! Unfortunately I can't seem to get a working version on github but that's a problem for another time.
Thanks to Mateo, I also updated how the ini file works. Now you can convert the left and right image in one ini file! You can also make the palette in the same ini. I'm not sure I'm doing the palette part correctly, but I haven't been able to test that because my on-calc code refuses to detect any images now that I've tried to add custom palette support. I may need help fixing that. Out of the broken detection system, I also added a useful warning that notifies you if it didn't detect any images!

Here's what the old viewer sees the custom palette images as: (Custom on left, old on right)

Finals are coming up for me, so expect the same amount of updates on this. (by this I mean, very few : P)
This looks absolutely great! It's ok if finals are keeping you from updating. I have finals too. (AP Physics finna kill me.) Sad
That looks a little funky Razz Where's your code?
For some reason SC hates me and refuses to export my code, I've tried deleting the spaces, even re writing the entire line but it still won't work. Anyways, I've updated just the source of my github with the current version, but here's the SC version. Look at tab 'HDPIC 5'
Line 104: Like 3 tabs after the end. Find where SC is complaining (SC line # != site line #'s, idk why), look up and down.
SM84CE++ that was it! Once that was sorted out I quickly found out that my detection issue was because I forgot to set the search pointer initially to 0 before searching.

It's almost finished! The images show up and they look spectacular!!!

I'm super hyped, the program's almost ready for a full version 1 release! There's a few graphic bugs I want to clean up but it shouldn't take long. (only a few years max) Razz
I've said this before, but thank you to everyone who contributed to this project, I never would've made it without out you!
Nice! As for a release version, I would recommend an easier way to convert images in batch. I would like to use this with quite a few pictures.
JWinslow23 wrote:
Nice! As for a release version, I would recommend an easier way to convert images in batch. I would like to use this with quite a few pictures.

Good idea. The Windows converter works well and is pretty quick at converting each image, I'll look into multiple image selection though!

On the subject of the converter, could someone help me figure out how I can get my C# code compatible with Mac and Linux without needing to acquire a machine that can run those OSes? If it comes to it, I have access to them, but it'd be way easier if I could just make the code compatible using my Windows 10 machine.
Looking pretty neat! Also if you wrote your program in C# using the .NET framework, your program should already be cross platform with mono. Then learn to program in something that isn't as crappy as Microsoft.
Good to know, thanks for the information Mateo!

I made a quick video to hype up some more publicity for this project!
Would it be possible to make an on-calc converter? Maybe take an background image downloaded to the calculator and converting it to an appvar of some sorts?
The point of this project was to avoid the compression that ti-os does when you send it as a picture, so that would defeat the purpose
To elaborate on what john said, when you send a picture as a background image to the calculator, TI Connect automatically compresses the image to the awful quality. There's no way I can improve the picture quality after it has been sent to the calculator; and there's obviously no point in spending a bunch of time on an on-calc converter that won't improve quality. Smile
this looks great!
Pasting here for reference:

20:30 <MateoC> Each pixel is given 3 color components, known as red (R), green (G), and blue (B)
20:30 <saxjax> [TheLastMillennial] right
20:30 <MateoC> On the CE, these are derived from a palette. An image has a palette, and the screen has a different palette.
20:30 <MateoC> What we want to do is make the colors in the image palette match as close as possible to the screen palette
20:31 <MateoC> This is so the colors look good when different images are using different palettes
20:31 <MateoC> In your case, the xlib palette is the screen palette
20:32 <MateoC> Now, for every pixel in the image, we grab the palette entry associated with it
20:32 <MateoC> Images are stored in bytes, so if a byte is 2, it means it is using entry 2 of the palette (starting from 0)
20:32 <MateoC> Palette entries are 16 bits, formatted as 1555
20:33 <MateoC> This means that 1 bit green, 5 bits red, 5 bits green, 5 bits blue
20:33 <Runer112> (that's not what it's supposed to mean, but that's what it does mean for the CE)
20:33 <MateoC> The 1 bit green actually is a part of the 5 bits green, resulting in a 565 r,g,b color
20:34 <MateoC> So what we do is we get each component of red, blue, and green into variables. We'll call them R1, G1, B1
20:34 <saxjax> [Cemetech] commandblockguy entered the room
20:35 <MateoC> Now, we have to search the screen (xlib) palette for a color that matches best these R1, G1, B1 values
20:35 <MateoC> Starting at the first entry in the palette, we get the color components for the xlib color. We'll call this R2, G2, B2
20:36 <MateoC> Now, we use a fancy thing called the Euclidean distance between these two colors. It's a straightforward formula that looks like this:
20:37 <MateoC> sqrt((R1 - R2)^2 + (G1 - G2)^2 + (B1 - B2)^2)
20:38 <MateoC> Then we loop through the screen palette for every R2, G2, and B2 color, and whichever one results in the smallest Euclidean distance is the palette entry we use, and draw to the screen
20:39 <MateoC> So if the original image's pixel is 2, we rewrite it to the screen as a different value which matches the palette entry
20:39 <MateoC> Okay I'm done
20:40 <MateoC> Or you could just use the lazy way I suggested and just store a precoverted image thumbnail Razz
20:40 <MateoC> But I think the other way would be pretty neato

EDIT: As a side note, because ICE truncates the result of sqrt(), you will probably need to change the formula to look like this:

sqrt(((R1 - R2)^2 + (G1 - G2)^2 + (B1 - B2)^2)*1000) -> DISTANCE
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 5 of 5
» All times are GMT - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum